home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-saag-cryptography-faq-00.txt < prev    next >
Text File  |  1993-10-07  |  167KB  |  3,355 lines

  1.  
  2.  
  3.  
  4.  
  5. Network Working Group                                            P. Fahn
  6. INTERNET-DRAFT [CRYPTOGRAPHY-FAQ]                       RSA Laboratories
  7. <draft-ietf-saag-cryptography-faq-00.txt>              22 September 1993
  8.  
  9.  
  10.                                ANSWERS TO
  11.                        FREQUENTLY ASKED QUESTIONS
  12.                        ABOUT TODAY'S CRYPTOGRAPHY
  13.  
  14.  
  15. STATUS OF THIS MEMO
  16.  
  17.    This document is an Internet Draft. Internet Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its Areas,
  19.    and its Working Groups. Note that other groups may also distribute
  20.    working documents as Internet Drafts.
  21.  
  22.    Internet Drafts are draft documents valid for a maximum of six
  23.    months. Internet Drafts may be updated, replaced, or obsoleted by
  24.    other documents at any time. It is not appropriate to use Internet
  25.    Drafts as reference material or to cite them other than as a "working
  26.    draft" or "work in progress."
  27.  
  28.    Please check the I-D abstract listing contained in each Internet
  29.    Draft directory to learn the current status of this or any other
  30.    Internet Draft. This draft document will be submitted to the RFC
  31.    editor as a standards document.
  32.  
  33.    This document is being distributed to members of the Internet
  34.    community in order to provide basic information about today's
  35.    cryptography. While the issues discussed may not be directly relevant
  36.    to the research problems of the Internet, they may be interesting to
  37.    a number of researchers and implementers. The distribution of this
  38.    document may provide a basis for more in-depth discussion about
  39.    cryptography.
  40.  
  41.    Distribution of this memo is unlimited. Please send comments and
  42.    corrections to <faq-editor@rsa.com>.
  43.  
  44.  
  45. ACKNOWLEDGEMENT
  46.  
  47.    I would like to thank the following people, who have provided
  48.    information and helpful suggestions: Burt Kaliski, Jim Bidzos, Matt
  49.    Robshaw, Steve Dusse, Kurt Stammberger, George Parsons, John Gilmore,
  50.    Stuart Haber, Dorothy Denning, and Dennis Branstad.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Fahn               Document Expiration:22 March 1993            [Page 1]
  60. Internet-Draft              Cryptography FAQ           22 September 1993
  61.  
  62.  
  63. TABLE OF CONTENTS
  64.  
  65.  
  66.    STATUS OF THIS MEMO                                                 1
  67.  
  68.    ACKNOWLEDGEMENT                                                     1
  69.  
  70.    TABLE OF CONTENTS                                                   2
  71.  
  72.    1 General                                                           4
  73.       1.1 What is encryption?                                          4
  74.       1.2 What is authentication? What is a digital signature?         5
  75.       1.3 What is public-key cryptography?                             5
  76.       1.4 What are the advantages and disadvantages of public-key
  77.           cryptography over secret-key cryptography?}                  6
  78.       1.5 Is cryptography patentable in the U.S.?                      7
  79.       1.6 Is cryptography exportable from the U.S.?                    8
  80.  
  81.    2 RSA                                                               9
  82.       2.1 What is RSA?                                                 9
  83.       2.2 Why use RSA rather than DES?                                10
  84.       2.3 How fast is RSA?                                            11
  85.       2.4 How much extra message length is caused by using RSA?       11
  86.       2.5 What would it take to break RSA?                            11
  87.       2.6 Are strong primes necessary in RSA?                         13
  88.       2.7 How large a modulus (key) should be used in RSA?            13
  89.       2.8 How large should the primes be?                             14
  90.       2.9 How does one find random numbers for keys?                  14
  91.       2.10 What if users of RSA run out of distinct primes?           15
  92.       2.11 How do you know if a number is prime?                      15
  93.       2.12 How is RSA used for encryption in practice?                15
  94.       2.13 How is RSA used for authentication in practice?            15
  95.       2.14 Does RSA help detect altered documents and transmission
  96.           errors?                                                     16
  97.       2.15 What are alternatives to RSA?                              17
  98.       2.16 Is RSA currently in use today?                             18
  99.       2.17 Is RSA an official standard today?                         18
  100.       2.18 Is RSA a de facto standard? Why is a de facto standard
  101.           important?                                                  19
  102.       2.19 Is RSA patented?                                           19
  103.       2.20 Can RSA be exported from the U.S.?                         20
  104.  
  105.    3 Key Management                                                   20
  106.       3.1 What key management issues are involved in public-key
  107.           cryptography?                                               20
  108.       3.2 Who needs a key?                                            21
  109.       3.3 How does one get a key pair?                                21
  110.       3.4 Should a public key or private key be shared among users?   21
  111.       3.5 What are certificates?                                      22
  112.       3.6 How are certificates used?                                  22
  113.       3.7 Who issues certificates and how?                            23
  114.  
  115.  
  116.  
  117. Fahn               Document Expiration: 22 March 1993           [Page 2]
  118. Internet-Draft              Cryptography FAQ           22 September 1993
  119.  
  120.  
  121.       3.8 What is a CSU, or, How do certifying authorities store their
  122.           private keys?                                               24
  123.       3.9 Are certifying authorities susceptible to attack?           24
  124.       3.10 What if the certifying authority's key is lost or
  125.           compromised?                                                26
  126.       3.11 What are Certificate Revocation Lists (CRLs)?              26
  127.       3.12 What happens when a key expires?                           27
  128.       3.13 What happens if I lose my private key?                     28
  129.       3.14 What happens if my private key is compromised?             28
  130.       3.15 How should I store my private key?                         28
  131.       3.16 How do I find someone else's public key?                   29
  132.       3.17 How can signatures remain valid beyond the expiration dates
  133.           of their   keys, or, How do you verify a 20-year-old
  134.           signature?                                                  29
  135.       3.18 What is a digital time-stamping service?                   30
  136.  
  137.    4 Factoring and Discrete Log                                       31
  138.       4.1 What is a one-way function?                                 31
  139.       4.2 What is the significance of one-way functions for
  140.           cryptography?                                               31
  141.       4.3 What is the factoring problem?                              32
  142.       4.4 What is the significance of factoring in cryptography?      32
  143.       4.5 Has factoring been getting easier?                          32
  144.       4.6 What are the best factoring methods in use today?           33
  145.       4.7 What are the prospects for theoretical factoring
  146.           breakthroughs?                                              34
  147.       4.8 What is the RSA Factoring Challenge?                        35
  148.       4.9 What is the discrete log problem?                           35
  149.       4.10 Which is easier, factoring or discrete log?                35
  150.  
  151.    5 DES                                                              36
  152.       5.1 What is DES?                                                36
  153.       5.2 Has DES been broken?                                        36
  154.       5.3 How does one use DES securely?                              37
  155.       5.4 Can DES be exported from the U.S.?                          38
  156.       5.5 What are the alternatives to DES?                           38
  157.       5.6 Is DES a group?                                             39
  158.  
  159.    6 Capstone, Clipper, and DSS                                       39
  160.       6.1 What is Capstone?                                           39
  161.       6.2 What is Clipper?                                            40
  162.       6.3 How does the Clipper chip work?                             40
  163.       6.4 Who are the escrow agencies?                                41
  164.       6.5 What is Skipjack?                                           41
  165.       6.6 Why is Clipper controversial?                               42
  166.       6.7 What is the current status of Clipper?                      43
  167.       6.8 What is DSS?                                                43
  168.       6.9 Is DSS secure?                                              44
  169.       6.10 Is use of DSS covered by any patents?                      44
  170.       6.11 What is the current status of DSS?                         44
  171.  
  172.    7 NIST and NSA                                                     45
  173.  
  174.  
  175. Fahn               Document Expiration: 22 March 1993           [Page 3]
  176. Internet-Draft              Cryptography FAQ           22 September 1993
  177.  
  178.  
  179.       7.1 What is NIST?                                               45
  180.       7.2 What role does NIST play in cryptography?                   45
  181.       7.3 What is the NSA?                                            45
  182.       7.4 What role does the NSA play in commercial cryptography?     46
  183.  
  184.    8 Miscellaneous                                                    47
  185.       8.1 What is the legal status of documents signed with digital
  186.           signatures?                                                 47
  187.       8.2 What is a hash function? What is a message digest?          48
  188.       8.3 What are MD2, MD4 and MD5?                                  49
  189.       8.4 What is SHS?                                                49
  190.       8.5 What is Kerberos?                                           50
  191.       8.6 What are RC2 and RC4?                                       50
  192.       8.7 What is PEM?                                                51
  193.       8.8 What is RIPEM?                                              51
  194.       8.9 What is PKCS?                                               52
  195.       8.10 What is RSAREF?                                            52
  196.  
  197.    BIBLIOGRAPHY                                                       52
  198.  
  199.    Author's Address                                                   58
  200.  
  201.  
  202.  
  203.  
  204. 1 General
  205.  
  206.  
  207. 1.1 What is encryption?
  208.  
  209.    Encryption is the transformation of data into a form unreadable by
  210.    anyone without a secret decryption key. Its purpose is to ensure
  211.    privacy by keeping the information hidden from anyone for whom it is
  212.    not intended, even those who can see the encrypted data. For example,
  213.    one may wish to encrypt files on a hard disk to prevent an intruder
  214.    from reading them.
  215.  
  216.    In a multi-user setting, encryption allows secure communication over
  217.    an insecure channel. The general scenario is as follows: Alice wishes
  218.    to send a message to Bob so that no one else besides Bob can read it.
  219.    Alice encrypts the message, which is called the plaintext, with an
  220.    encryption key; the encrypted message, called the ciphertext, is sent
  221.    to Bob. Bob decrypts the ciphertext with the decryption key and reads
  222.    the message. An attacker, Charlie, may either try to obtain the
  223.    secret key or to recover the plaintext without using the secret key.
  224.    In a secure cryptosystem, the plaintext cannot be recovered from the
  225.    ciphertext except by using the decryption key. In a symmetric
  226.    cryptosystem, a single key serves as both the encryption and
  227.    decryption keys.
  228.  
  229.  
  230.  
  231.  
  232.  
  233. Fahn               Document Expiration: 22 March 1993           [Page 4]
  234. Internet-Draft              Cryptography FAQ           22 September 1993
  235.  
  236.  
  237.    Cryptography has been around for millennia; see Kahn [37] for a good
  238.    history of cryptography; see Rivest [69] and Brassard [10] for an
  239.    introduction to modern cryptography.
  240.  
  241.  
  242. 1.2 What is authentication? What is a digital signature?
  243.  
  244.    Authentication in a digital setting is a process whereby the receiver
  245.    of a digital message can be confident of the identity of the sender
  246.    and/or the integrity of the message. Authentication protocols can be
  247.    based on either conventional secret-key cryptosystems like DES or on
  248.    public-key systems like RSA; authentication in public-key systems
  249.    uses digital signatures.
  250.  
  251.    In this document, authentication will generally refer to the use of
  252.    digital signatures, which play a function for digital documents
  253.    similar to that played by handwritten signatures for printed
  254.    documents: the signature is an unforgeable piece of data asserting
  255.    that a named person wrote or otherwise agreed to the document to
  256.    which the signature is attached. The recipient, as well as a third
  257.    party, can verify both that the document did indeed originate from
  258.    the person whose signature is attached and that the document has not
  259.    been altered since it was signed. A secure digital signature system
  260.    thus consists of two parts: a method of signing a document such that
  261.    forgery is infeasible, and a method of verifying that a signature was
  262.    actually generated by whomever it represents. Furthermore, secure
  263.    digital signatures cannot be repudiated; i.e., the signer of a
  264.    document cannot later disown it by claiming it was forged.
  265.  
  266.    Unlike encryption, digital signatures are a recent development, the
  267.    need for which has arisen with the proliferation of digital
  268.    communications.
  269.  
  270.  
  271. 1.3 What is public-key cryptography?
  272.  
  273.    Traditional cryptography is based on the sender and receiver of a
  274.    message knowing and using the same secret key: the sender uses the
  275.    secret key to encrypt the message, and the receiver uses the same
  276.    secret key to decrypt the message. This method is known as secret-key
  277.    cryptography. The main problem is getting the sender and receiver to
  278.    agree on the secret key without anyone else finding out. If they are
  279.    in separate physical locations, they must trust a courier, or a phone
  280.    system, or some other transmission system to not disclose the secret
  281.    key being communicated. Anyone who overhears or intercepts the key in
  282.    transit can later read all messages encrypted using that key. The
  283.    generation, transmission and storage of keys is called key
  284.    management; all cryptosystems must deal with key management issues.
  285.    Secret-key cryptography often has difficulty providing secure key
  286.    management.
  287.  
  288.  
  289.  
  290.  
  291. Fahn               Document Expiration: 22 March 1993           [Page 5]
  292. Internet-Draft              Cryptography FAQ           22 September 1993
  293.  
  294.  
  295.    Public-key cryptography was invented in 1976 by Whitfield Diffie and
  296.    Martin Hellman [29] in order to solve the key management problem. In
  297.    the new system, each person gets a pair of keys, called the public
  298.    key and the private key. Each person's public key is published while
  299.    the private key is kept secret. The need for sender and receiver to
  300.    share secret information is eliminated: all communications involve
  301.    only public keys, and no private key is ever transmitted or shared.
  302.    No longer is it necessary to trust some communications channel to be
  303.    secure against eavesdropping or betrayal. Anyone can send a
  304.    confidential message just using public information, but it can only
  305.    be decrypted with a private key that is in the sole possession of the
  306.    intended recipient. Furthermore, public-key cryptography can be used
  307.    for authentication (digital signatures) as well as for privacy
  308.    (encryption).
  309.  
  310.    Here's how it works for encryption: when Alice wishes to send a
  311.    message to Bob, she looks up Bob's public key in a directory, uses it
  312.    to encrypt the message and sends it off. Bob then uses his private
  313.    key to decrypt the message and read it. No one listening in can
  314.    decrypt the message. Anyone can send an encrypted message to Bob but
  315.    only Bob can read it. Clearly, one requirement is that no one can
  316.    figure out the private key from the corresponding public key.
  317.  
  318.    Here's how it works for authentication: Alice, to sign a message,
  319.    does a computation involving both her private key and the message
  320.    itself; the output is called the digital signature and is attached to
  321.    the message, which is then sent. Bob, to verify the signature, does
  322.    some computation involving the message, the purported signature, and
  323.    Alice's public key. If the results properly hold in a simple
  324.    mathematical relation, the signature is verified as genuine;
  325.    otherwise, the signature may be fraudulent or the message altered,
  326.    and they are discarded.
  327.  
  328.    A good history of public-key cryptography, by one of its inventors,
  329.    is given by Diffie [27].
  330.  
  331.  
  332. 1.4 What are the advantages and disadvantages of public-key cryptography
  333.     over secret-key cryptography?}
  334.  
  335.    The primary advantage of public-key cryptography is increased
  336.    security: the private keys do not ever need to be transmitted or
  337.    revealed to anyone. In a secret-key system, by contrast, there is
  338.    always a chance that an enemy could discover the secret key while it
  339.    is being transmitted.
  340.  
  341.    Another major advantage of public-key systems is that they can
  342.    provide a method for digital signatures. Authentication via secret-
  343.    key systems requires the sharing of some secret and sometimes
  344.    requires trust of a third party as well. A sender can then repudiate
  345.    a previously signed message by claiming that the shared secret was
  346.    somehow compromised by one of the parties sharing the secret. For
  347.  
  348.  
  349. Fahn               Document Expiration: 22 March 1993           [Page 6]
  350. Internet-Draft              Cryptography FAQ           22 September 1993
  351.  
  352.  
  353.    example, the Kerberos secret-key authentication system [79] involves
  354.    a central database that keeps copies of the secret keys of all users;
  355.    a Kerberos-authenticated message would most likely not be held
  356.    legally binding, since an attack on the database would allow
  357.    widespread forgery. Public-key authentication, on the other hand,
  358.    prevents this type of repudiation; each user has sole responsibility
  359.    for protecting his or her private key. This property of public-key
  360.    authentication is often called non-repudiation.
  361.  
  362.    Furthermore, digitally signed messages can be proved authentic to a
  363.    third party, such as a judge, thus allowing such messages to be
  364.    legally binding. Secret-key authentication systems such as Kerberos
  365.    were designed to authenticate access to network resources, rather
  366.    than to authenticate documents, a task which is better achieved via
  367.    digital signatures.
  368.  
  369.    A disadvantage of using public-key cryptography for encryption is
  370.    speed: there are popular secret-key encryption methods which are
  371.    significantly faster than any currently available public-key
  372.    encryption method. But public-key cryptography can share the burden
  373.    with secret-key cryptography to get the best of both worlds.
  374.  
  375.    For encryption, the best solution is to combine public- and secret-
  376.    key systems in order to get both the security advantages of public-
  377.    key systems and the speed advantages of secret-key systems. The
  378.    public-key system can be used to encrypt a secret key which is then
  379.    used to encrypt the bulk of a file or message. This is explained in
  380.    more detail in Question 2.12 in the case of RSA. Public-key
  381.    cryptography is not meant to replace secret-key cryptography, but
  382.    rather to supplement it, to make it more secure. The first use of
  383.    public-key techniques was for secure key exchange in an otherwise
  384.    secret-key system [29]; this is still one of its primary functions.
  385.  
  386.    Secret-key cryptography remains extremely important and is the
  387.    subject of much ongoing study and research. Some secret-key
  388.    encryption systems are discussed in Questions 5.1 and 5.5.
  389.  
  390.  
  391. 1.5 Is cryptography patentable in the U.S.?
  392.  
  393.    Cryptographic systems are patentable. Many secret-key cryptosystems
  394.    have been patented, including DES (see Question 5.1). The basic ideas
  395.    of public-key cryptography are contained in U.S. Patent 4,200,770, by
  396.    M. Hellman, W. Diffie, and R. Merkle, issued 4/29/80 and in U.S.
  397.    Patent 4,218,582, by M. Hellman and R. Merkle, issued 8/19/80;
  398.    similar patents have been issued throughout the world. The exclusive
  399.    licensing rights to both patents are held by Public Key Partners
  400.    (PKP), of Sunnyvale, California, which also holds the rights to the
  401.    RSA patent (see Question 2.19). Usually all of these public-key
  402.    patents are licensed together.
  403.  
  404.  
  405.  
  406.  
  407. Fahn               Document Expiration: 22 March 1993           [Page 7]
  408. Internet-Draft              Cryptography FAQ           22 September 1993
  409.  
  410.  
  411.    All legal challenges to public-key patents have been settled before
  412.    judgment. In a recent case, for example, PKP brought suit against the
  413.    TRW Corporation which was using public-key cryptography (the ElGamal
  414.    system) without a license; TRW claimed it did not need to license. In
  415.    June 1992 a settlement was reached in which TRW agreed to license to
  416.    the patents.
  417.  
  418.    Some patent applications for cryptosystems have been blocked by
  419.    intervention by the NSA (see Question 7.3) or other intelligence or
  420.    defense agencies, under the authority of the Invention Secrecy Act of
  421.    1940 and the National Security Act of 1947; see Landau [46] for some
  422.    recent cases related to cryptography.
  423.  
  424.  
  425. 1.6 Is cryptography exportable from the U.S.?
  426.  
  427.    All cryptographic products need export licenses from the State
  428.    Department, acting under authority of the International Traffic in
  429.    Arms Regulation (ITAR), which defines cryptographic devices,
  430.    including software, as munitions. The U.S. government has
  431.    historically been reluctant to grant export licenses for encryption
  432.    products stronger than some basic level (not publicly stated).
  433.  
  434.    Under current regulations, a vendor seeking to export a product using
  435.    cryptography first submits an request to the State Department's
  436.    Defense Trade Control office. Export jurisdiction may then be passed
  437.    to the Department of Commerce, whose export procedures are generally
  438.    simple and efficient. If jurisdiction remains with the State
  439.    Department, further review, perhaps lengthy, is required before
  440.    export is either approved or denied; the National Security Agency
  441.    (NSA, see Question 7.3) may become directly involved at this point.
  442.    The details of the export approval process change frequently.
  443.  
  444.    The NSA has de facto control over export of cryptographic products.
  445.    The State Department will not grant a license without NSA approval
  446.    and routinely grants licenses whenever NSA does approve. Therefore,
  447.    the policy decisions over exporting cryptography ultimately rest with
  448.    the NSA.
  449.  
  450.    It is the stated policy of the NSA not to restrict export of
  451.    cryptography for authentication; it is only concerned with the use of
  452.    cryptography for privacy. A vendor seeking to export a product for
  453.    authentication only will be granted an export license as long as it
  454.    can demonstrate that the product cannot be easily modified for
  455.    encryption; this is true even for very strong systems, such as RSA
  456.    with large key sizes. Furthermore, the bureaucratic procedures are
  457.    simpler for authentication products than for privacy products. An
  458.    authentication product needs NSA and State Dept. approval only once,
  459.    whereas an encryption product may need approval for every sale or
  460.    every product revision.
  461.  
  462.  
  463.  
  464.  
  465. Fahn               Document Expiration: 22 March 1993           [Page 8]
  466. Internet-Draft              Cryptography FAQ           22 September 1993
  467.  
  468.  
  469.    Export policy is currently a matter of great controversy, as many
  470.    software and hardware vendors consider current export regulations
  471.    overly restrictive and burdensome. The Software Publishers
  472.    Association (SPA), a software industry group, has recently been
  473.    negotiating with the government in order to get export license
  474.    restrictions eased; one agreement was reached that allows simplified
  475.    procedures for export of two bulk encryption ciphers, RC2 and RC4
  476.    (see Question 8.6), when the key size is limited. Also, export policy
  477.    is less restrictive for foreign subsidiaries and overseas offices of
  478.    U.S. companies.
  479.  
  480.    In March 1992, the Computer Security and Privacy Advisory Board voted
  481.    unanimously to recommend a national review of cryptography policy,
  482.    including export policy. The Board is an official advisory board to
  483.    NIST (see Question 7.1) whose members are drawn from both the
  484.    government and the private sector. The Board stated that a public
  485.    debate is the only way to reach a consensus policy to best satisfy
  486.    competing interests: national security and law enforcement agencies
  487.    like restrictions on cryptography, especially for export, whereas
  488.    other government agencies and private industry want greater freedom
  489.    for using and exporting cryptography. Export policy has traditionally
  490.    been decided solely by agencies concerned with national security,
  491.    without much input from those who wish to encourage commerce in
  492.    cryptography. U.S. export policy may undergo significant change in
  493.    the next few years.
  494.  
  495.  
  496. 2 RSA
  497.  
  498.  
  499. 2.1 What is RSA?
  500.  
  501.    RSA is a public-key cryptosystem for both encryption and
  502.    authentication; it was invented in 1977 by Ron Rivest, Adi Shamir,
  503.    and Leonard Adleman [74]. It works as follows: take two large primes,
  504.    p and q, and find their product n = pq; n is called the modulus.
  505.    Choose a number, e, less than n and relatively prime to (p-1)(q-1),
  506.    and find its inverse, d, mod (p-1)(q-1), which means that ed = 1 mod
  507.    (p-1)(q-1); e and d are called the public and private exponents,
  508.    respectively. The public key is the pair (n,e); the private key is d.
  509.    The factors p and q must be kept secret, or destroyed.
  510.  
  511.    It is difficult (presumably) to obtain the private key d from the
  512.    public key (n,e). If one could factor n into p and q, however, then
  513.    one could obtain the private key d. Thus the entire security of RSA
  514.    is predicated on the assumption that factoring is difficult; an easy
  515.    factoring method would "break" RSA (see Questions 2.5 and 4.4).
  516.  
  517.    Here is how RSA can be used for privacy and authentication (in
  518.    practice, actual use is slightly different; see Questions 2.12 and
  519.    2.13):
  520.  
  521.  
  522.  
  523. Fahn               Document Expiration: 22 March 1993           [Page 9]
  524. Internet-Draft              Cryptography FAQ           22 September 1993
  525.  
  526.  
  527.    RSA privacy (encryption): suppose Alice wants to send a private
  528.    message, m, to Bob. Alice creates the ciphertext c by exponentiating:
  529.    c = m^e mod n, where e and n are Bob's public key. To decrypt, Bob
  530.    also exponentiates: m = c^d mod n, and recovers the original message
  531.    m; the relationship between e and d ensures that Bob correctly
  532.    recovers m. Since only Bob knows d, only Bob can decrypt.
  533.  
  534.    RSA authentication: suppose Alice wants to send a signed document m
  535.    to Bob. Alice creates a digital signature s by exponentiating: s =
  536.    m^d mod n, where d and n belong to Alice's key pair. She sends s and
  537.    m to Bob. To verify the signature, Bob exponentiates and checks that
  538.    the message m is recovered: m = s^e mod n, where e and n belong to
  539.    Alice's public key.
  540.  
  541.    Thus encryption and authentication take place without any sharing of
  542.    private keys: each person uses only other people's public keys and
  543.    his or her own private key. Anyone can send an encrypted message or
  544.    verify a signed message, using only public keys, but only someone in
  545.    possession of the correct private key can decrypt or sign a message.
  546.  
  547.  
  548. 2.2 Why use RSA rather than DES?
  549.  
  550.    RSA is not an alternative or replacement for DES; rather it
  551.    supplements DES (or any other fast bulk encryption cipher) and is
  552.    used together with DES in a secure communications environment. (Note:
  553.    for an explanation of DES, see Question 5.1.)
  554.  
  555.    RSA allows two important functions not provided by DES: secure key
  556.    exchange without prior exchange of secrets, and digital signatures.
  557.    For encrypting messages, RSA and DES are usually combined as follows:
  558.    first the message is encrypted with a random DES key, and then,
  559.    before being sent over an insecure communications channel, the DES
  560.    key is encrypted with RSA. Together, the DES-encrypted message and
  561.    the RSA-encrypted DES key are sent. This protocol is known as an RSA
  562.    digital envelope.
  563.  
  564.    One may wonder, why not just use RSA to encrypt the whole message and
  565.    not use DES at all? Although this may be fine for small messages, DES
  566.    (or another cipher) is preferable for larger messages because it is
  567.    much faster than RSA (see Question 2.3).
  568.  
  569.    In some situations, RSA is not necessary and DES alone is sufficient.
  570.    This includes multi-user environments where secure DES-key agreement
  571.    can take place, for example by the two parties meeting in private.
  572.    Also, RSA is usually not necessary in a single-user environment; for
  573.    example, if you want to keep your personal files encrypted, just do
  574.    so with DES using, say, your personal password as the DES key. RSA,
  575.    and public-key cryptography in general, is best suited for a multi-
  576.    user environment. Also, any system in which digital signatures are
  577.    desired needs RSA or some other public-key system.
  578.  
  579.  
  580.  
  581. Fahn               Document Expiration: 22 March 1993          [Page 10]
  582. Internet-Draft              Cryptography FAQ           22 September 1993
  583.  
  584.  
  585. 2.3 How fast is RSA?
  586.  
  587.    An "RSA operation," whether for encrypting or decrypting, signing or
  588.    verifying, is essentially a modular exponentiation, which can be
  589.    performed by a series of modular multiplications.
  590.  
  591.    In practical applications, it is common to choose a small public
  592.    exponent for the public key; in fact, entire groups of users can use
  593.    the same public exponent. This makes encryption faster than
  594.    decryption and verification faster than signing. Algorithmically,
  595.    public-key operations take O(k^2) steps, private key operations take
  596.    O(k^3) steps, and key generation takes O(k^4) steps, where k is the
  597.    number of bits in the modulus; O-notation refers to the an upper
  598.    bound on the asymptotic running time of an algorithm [22].
  599.  
  600.    There are many commercially available hardware implementations of
  601.    RSA, and there are frequent announcements of newer and faster chips.
  602.    The fastest current RSA chip [76] has a throughput greater than 600
  603.    Kbits per second with a 512-bit modulus, implying that it performs
  604.    over 1000 RSA private-key operations per second. It is expected that
  605.    RSA speeds will reach 1 Mbit/second within a year or so.
  606.  
  607.    By comparison, DES is much faster than RSA. In software, DES is
  608.    generally at least 100 times as fast as RSA. In hardware, DES is
  609.    between 1,000 and 10,000 times as fast, depending on the
  610.    implementations. RSA will probably narrow the gap a bit in coming
  611.    years, as it finds growing commercial markets, but will never match
  612.    the performance of DES.
  613.  
  614.  
  615. 2.4 How much extra message length is caused by using RSA?
  616.  
  617.    Only a very small amount of data expansion is involved when using
  618.    RSA. For encryption, a message may be padded to a length that is a
  619.    multiple of the block length, usually 64 bits, since RSA is usually
  620.    combined with a secret-key block cipher such as DES (see Question
  621.    2.12). Encrypting the DES key takes as many additional bits as the
  622.    size of the RSA modulus.
  623.  
  624.     For authentication, an RSA digital signature is appended to a
  625.    document. An RSA signature, including information such as the name of
  626.    the signer, is typically a few hundred bytes long. One or more
  627.    certificates (see Question 3.5) may be included as well; certificates
  628.    can be used in conjunction with any digital signature method. A
  629.    typical RSA certificate is a few hundred bytes long.
  630.  
  631.  
  632. 2.5 What would it take to break RSA?
  633.  
  634.    There are a few possible interpretations of "breaking RSA". The most
  635.    damaging would be for an attacker to discover the private key
  636.    corresponding to a given public key; this would enable the attacker
  637.  
  638.  
  639. Fahn               Document Expiration: 22 March 1993          [Page 11]
  640. Internet-Draft              Cryptography FAQ           22 September 1993
  641.  
  642.  
  643.    both to read all messages encrypted with the public key and to forge
  644.    signatures. The obvious way to do this attack is to factor the public
  645.    modulus, n, into its two prime factors, p and q. From p, q, and e,
  646.    the public exponent, the attacker can easily get d, the private key.
  647.    The hard part is factoring n; the security of RSA depends of
  648.    factoring being difficult. In fact, the task of recovering the
  649.    private key is equivalent to the task of factoring the modulus: you
  650.    can use d to factor n, as well as use the factorization of n to find
  651.    d. See Questions 4.5 and 4.6 regarding the state of the art in
  652.    factoring. It should be noted that hardware improvements alone will
  653.    not weaken RSA, as long as appropriate key lengths are used; in fact,
  654.    hardware improvements should increase the security of RSA (see
  655.    Question 4.5).
  656.  
  657.    Another way to break RSA is to find a technique to compute e-th roots
  658.    mod n. Since c = m^e, the e-th root of c is the message m. This
  659.    attack would allow someone to recover encrypted messages and forge
  660.    signatures even without knowing the private key. This attack is not
  661.    known to be equivalent to factoring. No methods are currently known
  662.    that attempt to break RSA in this way.
  663.  
  664.    The attacks just mentioned are the only ways to break RSA in such a
  665.    way as to be able to recover all messages encrypted under a given
  666.    key. There are other methods, however, which aim to recover single
  667.    messages; success would not enable the attacker to recover other
  668.    messages encrypted with the same key.
  669.  
  670.    The simplest single-message attack is the guessed plaintext attack.
  671.    An attacker sees a ciphertext, guesses that the message might be
  672.    "Attack at dawn", and encrypts this guess with the public key of the
  673.    recipient; by comparison with the actual ciphertext, the attacker
  674.    knows whether or not the guess was correct. This attack can be
  675.    thwarted by appending some random bits to the message. Another
  676.    single-message attack can occur if someone sends the same message m
  677.    to three others, who each have public exponent e=3. An attacker who
  678.    knows this and sees the three messages will be able to recover the
  679.    message m; this attack and ways to prevent it are discussed by Hastad
  680.    [35]. There are also some "chosen ciphertext" attacks, in which the
  681.    attacker creates some ciphertext and gets to see the corresponding
  682.    plaintext, perhaps by tricking a legitimate user into decrypting a
  683.    fake message; Davida [23] gives some examples.
  684.  
  685.    Of course, there are also attacks that aim not at RSA itself but at a
  686.    given insecure implementation of RSA; these do not count as "breaking
  687.    RSA" because it is not any weakness in the RSA algorithm that is
  688.    exploited, but rather a weakness in a specific implementation. For
  689.    example, if someone stores his private key insecurely, an attacker
  690.    may discover it. One cannot emphasize strongly enough that to be
  691.    truly secure RSA requires a secure implementation; mathematical
  692.    security measures, such as choosing a long key size, are not enough.
  693.    In practice, most successful attacks will likely be aimed at insecure
  694.    implementations and at the key management stages of an RSA system.
  695.  
  696.  
  697. Fahn               Document Expiration: 22 March 1993          [Page 12]
  698. Internet-Draft              Cryptography FAQ           22 September 1993
  699.  
  700.  
  701.    See Section 3 for discussion of secure key management in an RSA
  702.    system.
  703.  
  704.  
  705. 2.6 Are strong primes necessary in RSA?
  706.  
  707.    In the literature pertaining to RSA, it has often been suggested that
  708.    in choosing a key pair, one should use "strong" primes p and q to
  709.    generate the modulus n. Strong primes are those with certain
  710.    properties that make the product n hard to factor by specific
  711.    factoring methods; such properties have included, for example, the
  712.    existence of a large prime factor of p-1 and a large prime factor of
  713.    p+1. The reason for these concerns is that some factoring methods are
  714.    especially suited to primes p such that p-1 or p+1 has only small
  715.    factors; strong primes are resistant to these attacks.
  716.  
  717.    However, recent advances in factoring (see Question 4.6) appear to
  718.    have obviated the advantage of strong primes; the elliptic curve
  719.    factoring algorithm is one such advance. The new factoring methods
  720.    have as good a chance of success on strong primes as on "weak"
  721.    primes; therefore, choosing strong primes does not significantly
  722.    increase resistance to attacks. So for now the answer is negative:
  723.    strong primes are not necessary when using RSA, although there is no
  724.    danger in using them, except that it takes longer to generate a key
  725.    pair. However, new factoring algorithms may be developed in the
  726.    future which once again target primes with certain properties; if so,
  727.    choosing strong primes may again help to increase security.
  728.  
  729.  
  730. 2.7 How large a modulus (key) should be used in RSA?
  731.  
  732.    The best size for an RSA modulus depends on one's security needs. The
  733.    larger the modulus, the greater the security but also the slower the
  734.    RSA operations. One should choose a modulus length upon
  735.    consideration, first, of one's security needs, such as the value of
  736.    the protected data and how long it needs to be protected, and,
  737.    second, of how powerful one's potential enemy is. It is also possible
  738.    that a larger key size will allow a digitally signed document to be
  739.    valid for a longer time; see Question 3.17.
  740.  
  741.    A good analysis of the security obtained by a given modulus length is
  742.    given by Rivest [72], in the context of discrete logarithms modulo a
  743.    prime, but it applies to RSA as well. Rivest's estimates imply that a
  744.    512-bit modulus can be factored with an $8.2 million effort, less in
  745.    the future. It may therefore be advisable to use a longer modulus,
  746.    perhaps 768 bits in length. Those with extremely valuable data (or
  747.    large potential damage from digital forgery) may want to use a still
  748.    longer modulus. A certifying authority (see Question 3.5) might use a
  749.    modulus of length 1000 bits or more, because the validity of so many
  750.    other key pairs depends on the security of the one central key.
  751.  
  752.  
  753.  
  754.  
  755. Fahn               Document Expiration: 22 March 1993          [Page 13]
  756. Internet-Draft              Cryptography FAQ           22 September 1993
  757.  
  758.  
  759.    The key of an individual user will expire after a certain time, say,
  760.    two years (see Question 3.12). Upon expiration, the user will
  761.    generate a new key which should be at least a few digits longer than
  762.    the old key to reflect the speed increases of computers over the two
  763.    years. Recommended key length schedules will probably be published by
  764.    some authority or public body.
  765.  
  766.    Users should keep in mind that the estimated times to break RSA are
  767.    averages only. A large factoring effort, attacking many thousands of
  768.    RSA moduli, may succeed in factoring at least one in a reasonable
  769.    time. Although the security of any individual key is still strong,
  770.    with some factoring methods there is always a small chance that the
  771.    attacker may get lucky and factor it quickly.
  772.  
  773.    As for the slowdown caused by increasing the key size (see Question
  774.    2.3), doubling the modulus length would, on average, increase the
  775.    time required for public-key operations (encryption and signature
  776.    verification) by a factor of 4, and increase the time taken by
  777.    private key operations (decryption and signing) by a factor of 8. The
  778.    reason that public-key operations are affected less than private-key
  779.    operations is that the public exponent can remain fixed when the
  780.    modulus is increased, whereas the private exponent increases
  781.    proportionally. Key generation time would increase by a factor of 16
  782.    upon doubling the modulus, but this is a relatively infrequent
  783.    operation for most users.
  784.  
  785.  
  786. 2.8 How large should the primes be?
  787.  
  788.    The two primes, p and q, which compose the modulus, should be of
  789.    roughly equal length; this will make the modulus harder to factor
  790.    than if one of the primes was very small. Thus if one chooses to use
  791.    a 512-bit modulus, the primes should each have length approximately
  792.    256 bits.
  793.  
  794.  
  795. 2.9 How does one find random numbers for keys?
  796.  
  797.    One needs a source of random numbers in order to find two random
  798.    primes to compose the modulus. If one used a predictable method of
  799.    generating the primes, an adversary could mount an attack by trying
  800.    to recreate the key generation process.
  801.  
  802.    Random numbers obtained from a physical process are in principle the
  803.    best. One could use a hardware device, such as a diode; some are sold
  804.    commercially on computer add-in boards for this purpose. Another idea
  805.    is to use physical movements of the computer user, such as keystroke
  806.    timings measured in microseconds. By whichever method, the random
  807.    numbers may still contain some correlations preventing sufficient
  808.    statistical randomness. Therefore, it is best to run them through a
  809.    good hash function (see Question 8.2) before actually using them.
  810.  
  811.  
  812.  
  813. Fahn               Document Expiration: 22 March 1993          [Page 14]
  814. Internet-Draft              Cryptography FAQ           22 September 1993
  815.  
  816.  
  817.    Another approach is to use a pseudorandom number generator fed by a
  818.    random seed. Since these are deterministic algorithms, it is
  819.    important to find one that is very unpredictable and also to use a
  820.    truly random seed. There is a wide literature on the subject of
  821.    pseudorandom number generators. See Knuth [41] for an introduction.
  822.  
  823.    Note that one does not need random numbers to determine the public
  824.    and private exponents in RSA, after choosing the modulus. One can
  825.    simply choose an arbitrary value for the public exponent, which then
  826.    determines the private exponent, or vice versa.
  827.  
  828.  
  829. 2.10 What if users of RSA run out of distinct primes?
  830.  
  831.    There are enough prime numbers that RSA users will never run out of
  832.    them. For example, the number of primes of length 512 bits or less
  833.    exceeds 10^{150}, according to the prime number theorem; this is more
  834.    than the number of atoms in the known universe.
  835.  
  836.  
  837. 2.11 How do you know if a number is prime?
  838.  
  839.    It is generally recommended to use probabilistic primality testing,
  840.    which is much quicker than actually proving a number prime. One can
  841.    use a probabilistic test that decides if a number is prime with
  842.    probability of error less than 2^{-100}. For further discussion of
  843.    some primality testing algorithms, see the papers in the bibliography
  844.    of [5]. For some empirical results on the reliability of simple
  845.    primality tests see Rivest [70]; one can perform very fast primality
  846.    tests and be extremely confident in the results. A simple algorithm
  847.    for choosing probable primes was recently analyzed by Brandt and
  848.    Damgard [9].
  849.  
  850.  
  851. 2.12 How is RSA used for encryption in practice?
  852.  
  853.    RSA is combined with a secret-key cryptosystem, such as DES, to
  854.    encrypt a message by means of an RSA digital envelope.
  855.  
  856.    Suppose Alice wishes to send an encrypted message to Bob. She first
  857.    encrypts the message with DES, using a randomly chosen DES key. Then
  858.    she looks up Bob's public key and uses it to encrypt the DES key. The
  859.    DES-encrypted message and the RSA-encrypted DES key together form the
  860.    RSA digital envelope and are sent to Bob. Upon receiving the digital
  861.    envelope, Bob decrypts the DES key with his private key, then uses
  862.    the DES key to decrypt to message itself.
  863.  
  864.  
  865. 2.13 How is RSA used for authentication in practice?
  866.  
  867.    Suppose Alice wishes to send a signed message to Bob. She uses a hash
  868.    function on the message (see Question 8.2) to create a message
  869.  
  870.  
  871. Fahn               Document Expiration: 22 March 1993          [Page 15]
  872. Internet-Draft              Cryptography FAQ           22 September 1993
  873.  
  874.  
  875.    digest, which serves as a "digital fingerprint" of the message. She
  876.    then encrypts the message digest with her RSA private key; this is
  877.    the digital signature, which she sends to Bob along with the message
  878.    itself. Bob, upon receiving the message and signature, decrypts the
  879.    signature with Alice's public key to recover the message digest. He
  880.    then hashes the message with the same hash function Alice used and
  881.    compares the result to the message digest decrypted from the
  882.    signature. If they are exactly equal, the signature has been
  883.    successfully verified and he can be confident that the message did
  884.    indeed come from Alice. If, however, they are not equal, then the
  885.    message either originated elsewhere or was altered after it was
  886.    signed, and he rejects the message. Note that for authentication, the
  887.    roles of the public and private keys are converse to their roles in
  888.    encryption, where the public key is used to encrypt and the private
  889.    key to decrypt.
  890.  
  891.    In practice, the public exponent is usually much smaller than the
  892.    private exponent; this means that the verification of a signature is
  893.    faster than the signing. This is desirable because a message or
  894.    document will only be signed by an individual once, but the signature
  895.    may be verified many times.
  896.  
  897.    It must be infeasible for anyone to either find a message that hashes
  898.    to a given value or to find two messages that hash to the same value.
  899.    If either were feasible, an intruder could attach a false message
  900.    onto Alice's signature. Hash functions such as MD4 and MD5 (see
  901.    Question 8.3) have been designed specifically to have the property
  902.    that finding a match is infeasible, and are therefore considered
  903.    suitable for use in cryptography.
  904.  
  905.    One or more certificates (see Question 3.5) may accompany a digital
  906.    signature. A certificate is a signed document attesting to the
  907.    identity and public key of the person signing the message. Its
  908.    purpose is to prevent someone from impersonating someone else, using
  909.    a phony key pair. If a certificate is present, the recipient (or a
  910.    third party) can check the authenticity of the public key, assuming
  911.    the certifier's public key is itself trusted.
  912.  
  913.  
  914. 2.14 Does RSA help detect altered documents and transmission errors?
  915.  
  916.    An RSA digital signature is superior to a handwritten signature in
  917.    that it attests to the contents of a message as well as to the
  918.    identity of the signer. As long as a secure hash function (see
  919.    Question 8.2) is used, there is no way to take someone's signature
  920.    from one document and attach it to another, or to alter the signed
  921.    message in any way. The slightest change in a signed document will
  922.    cause the digital signature verification process to fail. Thus, RSA
  923.    authentication allows people to check the integrity of signed
  924.    documents. Of course, if a signature verification fails, it may be
  925.    unclear whether there was an attempted forgery or simply a
  926.    transmission error.
  927.  
  928.  
  929. Fahn               Document Expiration: 22 March 1993          [Page 16]
  930. Internet-Draft              Cryptography FAQ           22 September 1993
  931.  
  932.  
  933. 2.15 What are alternatives to RSA?
  934.  
  935.    Many other public-key cryptosystems have been proposed, as a look
  936.    through the proceedings of the annual Crypto and Eurocrypt
  937.    conferences quickly reveals. A mathematical problem called the
  938.    knapsack problem was the basis for several systems [52], but these
  939.    have lost favor because several versions were broken. Another system,
  940.    designed by ElGamal [30], is based on the discrete logarithm problem.
  941.    The ElGamal system was, in part, the basis for several later
  942.    signature methods, including one by Schnorr [75], which in turn was
  943.    the basis for DSS, the digital signature standard proposed by NIST
  944.    (see Question 6.8). Because of the NIST proposal, the relative merits
  945.    of these signature systems versus RSA signatures has received a lot
  946.    of attention; see [57] for a discussion. The ElGamal system has been
  947.    used successfully in applications; it is slower for encryption and
  948.    verification than RSA and its signatures are larger than RSA
  949.    signatures.
  950.  
  951.    In 1976, before RSA, Diffie and Hellman [29] proposed a system for
  952.    key exchange only; it permits secure exchange of keys in an otherwise
  953.    conventional secret-key system. This system is in use today.
  954.  
  955.    Cryptosystems based on mathematical operations on elliptic curves
  956.    have also been proposed [43,56], as have cryptosystems based on
  957.    discrete exponentiation in the finite field GF(2^n). The latter are
  958.    very fast in hardware; however, doubts have been raised about their
  959.    security because the underlying problem may be easier to solve than
  960.    factoring [64,34]. There are also some probabilistic encryption
  961.    methods [8,32], which have the attraction of being resistant to a
  962.    guessed ciphertext attack (see Question 2.5), but at a cost of data
  963.    expansion. In probabilistic encryption, the same plaintext encrypted
  964.    twice under the same key will give, with high probability, two
  965.    different ciphertexts.
  966.  
  967.    For digital signatures, Rabin [68] proposed a system which is
  968.    provably equivalent to factoring; this is an advantage over RSA,
  969.    where one may still have a lingering worry about an attack unrelated
  970.    to factoring. Rabin's method is susceptible to a chosen message
  971.    attack, however, in which the attacker tricks the user into signing
  972.    messages of a special form. Another signature scheme, by Fiat and
  973.    Shamir [31], is based on interactive zero-knowledge protocols, but
  974.    can be adapted for signatures. It is faster than RSA and is provably
  975.    equivalent to factoring, but the signatures are much larger than RSA
  976.    signatures. Other variations, however, lessen the necessary signature
  977.    length; see [17] for references. A system is "equivalent to
  978.    factoring" if recovering the private key is provably as hard as
  979.    factoring; forgery may be easier than factoring in some of the
  980.    systems.
  981.  
  982.    Advantages of RSA over other public-key cryptosystems include the
  983.    fact that it can be used for both encryption and authentication, and
  984.    that it has been around for many years and has successfully withstood
  985.  
  986.  
  987. Fahn               Document Expiration: 22 March 1993          [Page 17]
  988. Internet-Draft              Cryptography FAQ           22 September 1993
  989.  
  990.  
  991.    much scrutiny. RSA has received far more attention, study, and actual
  992.    use than any other public-key cryptosystem, and thus RSA has more
  993.    empirical evidence of its security than more recent and less
  994.    scrutinized systems. In fact, a large number of public-key
  995.    cryptosystems which at first appeared secure were later broken; see
  996.    [13] for some case histories.
  997.  
  998.  
  999. 2.16 Is RSA currently in use today?
  1000.  
  1001.    The use of RSA is undergoing a period of rapid expansion and may
  1002.    become ubiquitous within a few years. It is currently used in a wide
  1003.    variety of products, platforms and industries around the world. It is
  1004.    found in many commercial software products and planned for many more.
  1005.    RSA is built into current or planned operating systems by Microsoft,
  1006.    Apple, Sun, and Novell. In hardware, RSA can be found in secure
  1007.    telephones, on Ethernet network cards, and on smart cards. RSA is
  1008.    also used internally in many institutions, including branches of the
  1009.    U.S. government, major corporations, national laboratories, and
  1010.    universities.
  1011.  
  1012.    Adoption of RSA seems to be proceeding more quickly for
  1013.    authentication (digital signatures) than for privacy (encryption),
  1014.    perhaps in part because products for authentication are easier to
  1015.    export than those for privacy (see Question 1.6).
  1016.  
  1017.  
  1018. 2.17 Is RSA an official standard today?
  1019.  
  1020.    RSA is part of many official standards worldwide. The ISO
  1021.    (International Standards Organization) 9796 standard lists RSA as a
  1022.    compatible cryptographic algorithm, as does the Consultative
  1023.    Committee in International Telegraphy and Telephony (CCITT) X.509
  1024.    security standard. RSA is part of the Society for Worldwide Interbank
  1025.    Financial Telecommunications (SWIFT) standard, the French financial
  1026.    industry's ETEBAC 5 standard, and the ANSI X9.31 draft standard for
  1027.    the U.S. banking industry. The Australian key management standard,
  1028.    AS2805.6.5.3, also specifies RSA.
  1029.  
  1030.    RSA is found in Internet's proposed PEM (Privacy Enhanced Mail)
  1031.    standard (see Question 8.7) and the PKCS standard for the software
  1032.    industry (see Question 8.9). The OSI Implementors' Workshop (OIW) has
  1033.    issued implementers' agreements referring to PKCS and PEM, which each
  1034.    include RSA.
  1035.  
  1036.    A number of other standards are currently being developed and will be
  1037.    announced over the next couple of years; many are expected to include
  1038.    RSA as either an endorsed or a recommended system for privacy and/or
  1039.    authentication. See [38] for a more comprehensive survey of
  1040.    cryptography standards.
  1041.  
  1042.  
  1043.  
  1044.  
  1045. Fahn               Document Expiration: 22 March 1993          [Page 18]
  1046. Internet-Draft              Cryptography FAQ           22 September 1993
  1047.  
  1048.  
  1049. 2.18 Is RSA a de facto standard? Why is a de facto standard important?
  1050.  
  1051.    RSA is the most widely used public-key cryptosystem today and has
  1052.    often been called a de facto standard. Regardless of the official
  1053.    standards, the existence of a de facto standard is extremely
  1054.    important for the development of a digital economy. If one public-key
  1055.    system is used everywhere for authentication, then signed digital
  1056.    documents can be exchanged between users in different nations using
  1057.    different software on different platforms; this interoperability is
  1058.    necessary for a true digital economy to develop.
  1059.  
  1060.    The lack of secure authentication has been a major obstacle in
  1061.    achieving the promise that computers would replace paper; paper is
  1062.    still necessary almost everywhere for contracts, checks, official
  1063.    letters, legal documents, and identification. With this core of
  1064.    necessary paper transaction, it has not been feasible to evolve
  1065.    completely into a society based on electronic transactions. Digital
  1066.    signatures are the exact tool necessary to convert the most essential
  1067.    paper-based documents to digital electronic media. Digital signatures
  1068.    makes it possible, for example, to have leases, wills, passports,
  1069.    college transcripts, checks, and voter registration forms that exist
  1070.    only in electronic form; any paper version would just be a "copy" of
  1071.    the electronic original. All of this is enabled by an accepted
  1072.    standard for digital signatures.
  1073.  
  1074.  
  1075. 2.19 Is RSA patented?
  1076.  
  1077.    RSA is patented under U.S. Patent 4,405,829, issued 9/20/83 and held
  1078.    by Public Key Partners (PKP), of Sunnyvale, California; the patent
  1079.    expires 17 years after issue, in 2000. RSA is usually licensed
  1080.    together with other public-key cryptography patents (see Question
  1081.    1.5). PKP has a standard, royalty-based licensing policy which can be
  1082.    modified for special circumstances. If a software vendor, having
  1083.    licensed the public-key patents, incorporates RSA into a commercial
  1084.    product, then anyone who purchases the end product has the legal
  1085.    right to use RSA within the context of that software. The U.S.
  1086.    government can use RSA without a license because it was invented at
  1087.    MIT with partial government funding. RSA is not patented outside
  1088.    North America.
  1089.    In North America, a license is needed to "make, use or sell" RSA.
  1090.    However, PKP usually allows free non-commercial use of RSA, with
  1091.    written permission, for personal, academic or intellectual reasons.
  1092.    Furthermore, RSA Laboratories has made available (in the U.S. and
  1093.    Canada) at no charge a collection of cryptographic routines in source
  1094.    code, including the RSA algorithm; it can be used, improved and
  1095.    redistributed non-commercially (see Question 8.10).
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102. Fahn               Document Expiration: 22 March 1993          [Page 19]
  1103. Internet-Draft              Cryptography FAQ           22 September 1993
  1104.  
  1105.  
  1106. 2.20 Can RSA be exported from the U.S.?
  1107.  
  1108.    Export of RSA falls under the same U.S. laws as all other
  1109.    cryptographic products. See Question 1.6 for details.
  1110.  
  1111.    RSA used for authentication is more easily exported than when used
  1112.    for privacy. In the former case, export is allowed regardless of key
  1113.    (modulus) size, although the exporter must demonstrate that the
  1114.    product cannot be easily converted to use for encryption. In the case
  1115.    of RSA used for privacy (encryption), the U.S. government generally
  1116.    does not allow export if the key size exceeds 512 bits. Export policy
  1117.    is currently a subject of debate, and the export status of RSA may
  1118.    well change in the next year or two.
  1119.  
  1120.    Regardless of U.S. export policy, RSA is available abroad in non-U.S.
  1121.    products.
  1122.  
  1123.  
  1124. 3 Key Management
  1125.  
  1126.  
  1127. 3.1 What key management issues are involved in public-key cryptography?
  1128.  
  1129.    Secure methods of key management are extremely important. In
  1130.    practice, most attacks on public-key systems will probably be aimed
  1131.    at the key management levels, rather than at the cryptographic
  1132.    algorithm itself. The key management issues mentioned here are
  1133.    discussed in detail in later questions.
  1134.  
  1135.    Users must be able to obtain securely a key pair suited to their
  1136.    efficiency and security needs. There must be a way to look up other
  1137.    people's public keys and to publicize one's own key. Users must have
  1138.    confidence in the legitimacy of others' public keys; otherwise an
  1139.    intruder can either change public keys listed in a directory, or
  1140.    impersonate another user. Certificates are used for this purpose.
  1141.    Certificates must be unforgeable, obtainable in a secure manner, and
  1142.    processed in such a way that an intruder cannot misuse them. The
  1143.    issuance of certificates must proceed in a secure way, impervious to
  1144.    attack. If someone's private key is lost or compromised, others must
  1145.    be made aware of this, so that they will no longer encrypt messages
  1146.    under the invalid public key nor accept messages signed with the
  1147.    invalid private key. Users must be able to store their private keys
  1148.    securely, so that no intruder can find it, yet the keys must be
  1149.    readily accessible for legitimate use. Keys need to be valid only
  1150.    until a specified expiration date. The expiration date must be chosen
  1151.    properly and publicized securely. Some documents need to have
  1152.    verifiable signatures beyond the time when the key used to sign them
  1153.    has expired.
  1154.  
  1155.    Although most of these key management issues arise in any public-key
  1156.    cryptosystem, for convenience they are discussed here in the context
  1157.    of RSA.
  1158.  
  1159.  
  1160. Fahn               Document Expiration: 22 March 1993          [Page 20]
  1161. Internet-Draft              Cryptography FAQ           22 September 1993
  1162.  
  1163.  
  1164. 3.2 Who needs a key?
  1165.  
  1166.    Anyone who wishes to sign messages or to receive encrypted messages
  1167.    must have a key pair. People may have more than one key. For example,
  1168.    someone might have a key affiliated with his or her work and a
  1169.    separate key for personal use. Other entities will also have keys,
  1170.    including electronic entities such as modems, workstations, and
  1171.    printers, as well as organizational entities such as a corporate
  1172.    department, a hotel registration desk, or a university registrar's
  1173.    office.
  1174.  
  1175.  
  1176. 3.3 How does one get a key pair?
  1177.  
  1178.    Each user should generate his or her own key pair. It may be tempting
  1179.    within an organization to have a single site that generates keys for
  1180.    all members who request one, but this is a security risk because it
  1181.    involves the transmission of private keys over a network as well as
  1182.    catastrophic consequences if an attacker infiltrates the key-
  1183.    generation site. Each node on a network should be capable of local
  1184.    key generation, so that private keys are never transmitted and no
  1185.    external key source need be trusted. Of course, the local key
  1186.    generation software must itself be trustworthy. Secret-key
  1187.    authentication systems, such as Kerberos, often do not allow local
  1188.    key generation but instead use a central server to generate keys.
  1189.  
  1190.    Once generated, a user must register his or her public key with some
  1191.    central administration, called a certifying authority. The certifying
  1192.    authority returns to the user a certificate attesting to the veracity
  1193.    of the user's public key along with other information (see Questions
  1194.    3.5 and following). Most users should not obtain more than one
  1195.    certificate for the same key, in order to simplify various
  1196.    bookkeeping tasks associated with the key.
  1197.  
  1198.  
  1199. 3.4 Should a public key or private key be shared among users?
  1200.  
  1201.    In RSA, each person should have a unique modulus and private
  1202.    exponent, i.e., a unique private key. The public exponent, on the
  1203.    other hand, can be common to a group of users without security being
  1204.    compromised. Some public exponents in common use today are 3 and
  1205.    2^{16}+1; because these numbers are small, the public-key operations
  1206.    (encryption and signature verification) are fast relative to the
  1207.    private key operations (decryption and signing). If one public
  1208.    exponent becomes a standard, software and hardware can be optimized
  1209.    for that value.
  1210.  
  1211.    In public-key systems based on discrete logarithms, such as ElGamal,
  1212.    Diffie-Hellman, or DSS, it has often been suggested that a group of
  1213.    people should share a modulus. This would make breaking a key more
  1214.    attractive to an attacker, however, because one could break every key
  1215.    with only slightly more effort than it would take to break a single
  1216.  
  1217.  
  1218. Fahn               Document Expiration: 22 March 1993          [Page 21]
  1219. Internet-Draft              Cryptography FAQ           22 September 1993
  1220.  
  1221.  
  1222.    key. To an attacker, therefore, the average cost to break a key is
  1223.    much lower with a common modulus than if every key has a distinct
  1224.    modulus. Thus one should be very cautious about using a common
  1225.    modulus; if a common modulus is chosen, it should be very large.
  1226.  
  1227.  
  1228. 3.5 What are certificates?
  1229.  
  1230.    Certificates are digital documents attesting to the binding of a
  1231.    public key to an individual or other entity. They allow verification
  1232.    of the claim that a given public key does in fact belong to a given
  1233.    individual. Certificates help prevent someone from using a phony key
  1234.    to impersonate someone else.
  1235.  
  1236.    In their simplest form, certificates contain a public key and a name.
  1237.    As commonly used, they also contain the expiration date of the key,
  1238.    the name of the certifying authority that issued the certificate, the
  1239.    serial number of the certificate, and perhaps other information. Most
  1240.    importantly, it contains the digital signature of the certificate
  1241.    issuer. The most widely accepted format for certificates is defined
  1242.    by the CCITT X.509 international standard [19]; thus certificates can
  1243.    be read or written by any application complying with X.509. Further
  1244.    refinements are found in the PKCS set of standards (see Question
  1245.    8.9), and the PEM standard (see Question 8.7). A detailed discussion
  1246.    of certificate format can also be found in Kent [40].
  1247.  
  1248.    A certificate is issued by a certifying authority (see Question 3.7)
  1249.    and signed with the certifying authority's private key.
  1250.  
  1251.  
  1252. 3.6 How are certificates used?
  1253.  
  1254.    A certificate is displayed in order to generate confidence in the
  1255.    legitimacy of a public key. Someone verifying a signature can also
  1256.    verify the signer's certificate, to insure that no forgery or false
  1257.    representation has occurred. These steps can be performed with
  1258.    greater or lesser rigor depending on the context.
  1259.  
  1260.    The most secure use of authentication involves enclosing one or more
  1261.    certificates with every signed message. The receiver of the message
  1262.    would verify the certificate using the certifying authority's public
  1263.    key and, now confident of the public key of the sender, verify the
  1264.    message's signature. There may be two or more certificates enclosed
  1265.    with the message, forming a hierarchical chain, wherein one
  1266.    certificate testifies to the authenticity of the previous
  1267.    certificate. At the end of a certificate hierarchy is a top-level
  1268.    certifying authority, which is trusted without a certificate from any
  1269.    other certifying authority. The public key of the top-level
  1270.    certifying authority must be independently known, for example by
  1271.    being widely published.
  1272.  
  1273.  
  1274.  
  1275.  
  1276. Fahn               Document Expiration: 22 March 1993          [Page 22]
  1277. Internet-Draft              Cryptography FAQ           22 September 1993
  1278.  
  1279.  
  1280.    The more familiar the sender is to the receiver of the message, the
  1281.    less need there is to enclose, and to verify, certificates. If Alice
  1282.    sends messages to Bob every day, Alice can enclose a certificate
  1283.    chain on the first day, which Bob verifies. Bob thereafter stores
  1284.    Alice's public key and no more certificates or certificate
  1285.    verifications are necessary. A sender whose company is known to the
  1286.    receiver may need to enclose only one certificate (issued by the
  1287.    company), whereas a sender whose company is unknown to the receiver
  1288.    may need to enclose two certificates. A good rule of thumb is to
  1289.    enclose just enough of a certificate chain so that the issuer of the
  1290.    highest level certificate in the chain is well-known to the receiver.
  1291.  
  1292.    According to the PKCS standards for public-key cryptography (see
  1293.    Question 8.9), every signature points to a certificate that validates
  1294.    the public key of the signer. Specifically, each signature contains
  1295.    the name of the issuer of the certificate and the serial number of
  1296.    the certificate. Thus even if no certificates are enclosed with a
  1297.    message, a verifier can still use the certificate chain to check the
  1298.    status of the public key.
  1299.  
  1300.  
  1301. 3.7 Who issues certificates and how?
  1302.  
  1303.    Certificates are issued by a certifying authority (CA), which can be
  1304.    any trusted central administration willing to vouch for the
  1305.    identities of those to whom it issues certificates. A company may
  1306.    issue certificates to its employees, a university to its students, a
  1307.    town to its citizens. In order to prevent forged certificates, the
  1308.    CA's public key must be trustworthy: a CA must either publicize its
  1309.    public key or provide a certificate from a higher-level CA attesting
  1310.    to the validity of its public key. The latter solution gives rise to
  1311.    hierarchies of CAs.
  1312.  
  1313.    Certificate issuance proceeds as follows. Alice generates her own key
  1314.    pair and sends the public key to an appropriate CA with some proof of
  1315.    her identification. The CA checks the identification and takes any
  1316.    other steps necessary to assure itself that the request really did
  1317.    come from Alice, and then sends her a certificate attesting to the
  1318.    binding between Alice and her public key, along with a hierarchy of
  1319.    certificates verifying the CA's public key. Alice can present this
  1320.    certificate chain whenever desired in order to demonstrate the
  1321.    legitimacy of her public key.
  1322.  
  1323.    Since the CA must check for proper identification, organizations will
  1324.    find it convenient to act as a CA for its own members and employees.
  1325.    There will also be CAs that issue certificates to unaffiliated
  1326.    individuals.
  1327.  
  1328.    Different CAs may issue certificates with varying levels of
  1329.    identification requirements. One CA may insist on seeing a driver's
  1330.    license, another may want the certificate request form to be
  1331.    notarized, yet another may want fingerprints of anyone requesting a
  1332.  
  1333.  
  1334. Fahn               Document Expiration: 22 March 1993          [Page 23]
  1335. Internet-Draft              Cryptography FAQ           22 September 1993
  1336.  
  1337.  
  1338.    certificate. Each CA should publish its own identification
  1339.    requirements and standards, so that verifiers can attach the
  1340.    appropriate level of confidence in the certified name-key bindings.
  1341.  
  1342.    An example of a certificate-issuing protocol is Apple Computer's Open
  1343.    Collaborative Environment (OCE). Apple OCE users can generate a key
  1344.    pair and then request and receive a certificate for the public key;
  1345.    the certificate request must be notarized.
  1346.  
  1347.  
  1348. 3.8 What is a CSU, or, How do certifying authorities store their private
  1349.     keys?
  1350.  
  1351.    It is extremely important that private keys of certifying authorities
  1352.    are stored securely, because compromise would enable undetectable
  1353.    forgeries. One way to achieve the desired security is to store the
  1354.    key in a tamperproof box; such a box is called a Certificate Signing
  1355.    Unit, or CSU. The CSU would, preferably, destroy its contents if ever
  1356.    opened, and be shielded against attacks using electromagnetic
  1357.    radiation. Not even employees of the certifying authority should have
  1358.    access to the private key itself, but only the ability to use the
  1359.    private key in the process of issuing certificates.
  1360.  
  1361.    There are many possible designs for CSUs; here is a description of
  1362.    one design found in some current implementations. The CSU is
  1363.    activated by a set of data keys, which are physical keys capable of
  1364.    storing digital information. The data keys use secret-sharing
  1365.    technology such that several people must all use their data keys to
  1366.    activate the CSU. This prevents one disgruntled CA employee from
  1367.    producing phony certificates.
  1368.  
  1369.    Note that if the CSU is destroyed, say in a fire, no security is
  1370.    compromised. Certificates signed by the CSU are still valid, as long
  1371.    as the verifier uses the correct public key. Some CSUs will be
  1372.    manufactured so that a lost private key can be restored into a new
  1373.    CSU. See Question 3.10 for discussion of lost CA private keys.
  1374.  
  1375.    Bolt, Beranek, and Newman (BBN) currently sells a CSU, and RSA Data
  1376.    Security sells a full-fledged certificate issuing system built around
  1377.    the BBN CSU.
  1378.  
  1379.  
  1380. 3.9 Are certifying authorities susceptible to attack?
  1381.  
  1382.    One can think of many attacks aimed at the certifying authority,
  1383.    which must be prepared against them.
  1384.  
  1385.    Consider the following attack. Suppose Bob wishes to impersonate
  1386.    Alice. If Bob can convincingly sign messages as Alice, he can send a
  1387.    message to Alice's bank saying "I wish to withdraw $10,000 from my
  1388.    account. Please send me the money." To carry out this attack, Bob
  1389.    generates a key pair and sends the public key to a certifying
  1390.  
  1391.  
  1392. Fahn               Document Expiration: 22 March 1993          [Page 24]
  1393. Internet-Draft              Cryptography FAQ           22 September 1993
  1394.  
  1395.  
  1396.    authority saying "I'm Alice. Here is my public key. Please send me a
  1397.    certificate." If the CA is fooled and sends him such a certificate,
  1398.    he can then fool the bank, and his attack will succeed. In order to
  1399.    prevent such an attack the CA must verify that a certificate request
  1400.    did indeed come from its purported author, i.e., it must require
  1401.    sufficient evidence that it is actually Alice who is requesting the
  1402.    certificate. The CA may, for example, require Alice to appear in
  1403.    person and show a birth certificate. Some CAs may require very little
  1404.    identification, but the bank should not honor messages authenticated
  1405.    with such low-assurance certificates. Every CA must publicly state
  1406.    its identification requirements and policies; others can then attach
  1407.    an appropriate level of confidence to the certificates.
  1408.  
  1409.    An attacker who discovers the private key of a certifying authority
  1410.    could then forge certificates. For this reason, a certifying
  1411.    authority must take extreme precautions to prevent illegitimate
  1412.    access to its private key. The private key should be kept in a high-
  1413.    security box, known as a Certificate Signing Unit, or CSU (see
  1414.    Question 3.8).
  1415.  
  1416.    The certifying authority's public key might be the target of an
  1417.    extensive factoring attack. For this reason, CAs should use very long
  1418.    keys, preferably 1000 bits or longer, and should also change keys
  1419.    regularly. Top-level certifying authorities are exceptions: it may
  1420.    not be practical for them to change keys frequently because the key
  1421.    may be written into software used by a large number of verifiers.
  1422.  
  1423.    In another attack, Alice bribes Bob, who works for the certifying
  1424.    authority, to issue to her a certificate in the name of Fred. Now
  1425.    Alice can send messages signed in Fred's name and anyone receiving
  1426.    such a message will believe it authentic because a full and
  1427.    verifiable certificate chain will accompany the message. This attack
  1428.    can be hindered by requiring the cooperation of two (or more)
  1429.    employees to generate a certificate; the attacker now has to bribe
  1430.    two employees rather than one. For example, in some of today's CSUs,
  1431.    three employees must each insert a data key containing secret
  1432.    information in order to authorize the CSU to generate certificates.
  1433.    Unfortunately, there may be other ways to generate a forged
  1434.    certificate by bribing only one employee. If each certificate request
  1435.    is checked by only one employee, that one employee can be bribed and
  1436.    slip a false request into a stack of real certificate requests. Note
  1437.    that a corrupt employee cannot reveal the certifying authority's
  1438.    private key, as long as it is properly stored.
  1439.  
  1440.    Another attack involves forging old documents. Alice tries to factor
  1441.    the modulus of the certifying authority. It takes her 15 years, but
  1442.    she finally succeeds, and she now has the old private key of the
  1443.    certifying authority. The key has long since expired, but she can
  1444.    forge a certificate dated 15 years ago attesting to a phony public
  1445.    key of some other person, say Bob; she can now forge a document with
  1446.    a signature of Bob dated 15 year ago, perhaps a will leaving
  1447.    everything to Alice. The underlying issue raised by this attack is
  1448.  
  1449.  
  1450. Fahn               Document Expiration: 22 March 1993          [Page 25]
  1451. Internet-Draft              Cryptography FAQ           22 September 1993
  1452.  
  1453.  
  1454.    how to authenticate a signed document dated many years ago; this
  1455.    issue is discussed in Question 3.17.
  1456.  
  1457.    Note that these attacks on certifying authorities do not threaten the
  1458.    privacy of messages between users, as might result from an attack on
  1459.    a secret-key distribution center.
  1460.  
  1461.  
  1462. 3.10 What if the certifying authority's key is lost or compromised?
  1463.  
  1464.    If the certifying authority's key is lost or destroyed but not
  1465.    compromised, certificates signed with the old key are still valid, as
  1466.    long as the verifier knows to use the old public key to verify the
  1467.    certificate.
  1468.  
  1469.    In some CSU designs, encrypted backup copies of the CA's private key
  1470.    are kept. A CA which loses its key can then restore it by loading the
  1471.    encrypted backup into the CSU, which can decrypt it using some unique
  1472.    information stored inside the CSU; the encrypted backup can only be
  1473.    decrypted using the CSU. If the CSU itself is destroyed, the
  1474.    manufacturer may be able to supply another with the same internal
  1475.    information, thus allowing recovery of the key.
  1476.  
  1477.    A compromised CA key is a much more dangerous situation. An attacker
  1478.    who discovers a certifying authority's private key can issue phony
  1479.    certificates in the name of the certifying authority, which would
  1480.    enable undetectable forgeries; for this reason, all precautions must
  1481.    be taken to prevent compromise, including those outlined in Questions
  1482.    3.8 and 3.9. If a compromise does occur, the CA must immediately
  1483.    cease issuing certificates under its old key and change to a new key.
  1484.    If it is suspected that some phony certificates were issued, all
  1485.    certificates should be recalled, and then reissued with a new CA key.
  1486.    These measures could be relaxed somewhat if certificates were
  1487.    registered with a digital time-stamping service (see Question 3.18).
  1488.    Note that compromise of a CA key does not invalidate users' keys, but
  1489.    only the certificates that authenticate them. Compromise of a top-
  1490.    level CA's key should be considered catastrophic, since the key may
  1491.    be built into applications that verify certificates.
  1492.  
  1493.  
  1494. 3.11 What are Certificate Revocation Lists (CRLs)?
  1495.  
  1496.    A Certificate Revocation List (CRL) is a list of public keys that
  1497.    have been revoked before their scheduled expiration date. There are
  1498.    several reasons why a key might need to be revoked and placed on a
  1499.    CRL. A key might have been compromised. A key might be used
  1500.    professionally by an individual for a company; for example, the
  1501.    official name associated with a key might be "Alice Avery, Vice
  1502.    President, Argo Corp." If Alice were fired, her company would not
  1503.    want her to be able to sign messages with that key and therefore the
  1504.    company would place the key on the CRL.
  1505.  
  1506.  
  1507.  
  1508. Fahn               Document Expiration: 22 March 1993          [Page 26]
  1509. Internet-Draft              Cryptography FAQ           22 September 1993
  1510.  
  1511.  
  1512.    When verifying a signature, one can check the relevant CRL to make
  1513.    sure the signer's key has not been revoked. Whether it is worth the
  1514.    time to perform this check depends on the importance of the signed
  1515.    document.
  1516.  
  1517.    CRLs are maintained by certifying authorities (CAs) and provide
  1518.    information about revoked keys originally certified by the CA. CRLs
  1519.    only list current keys, since expired keys should not be accepted in
  1520.    any case; when a revoked key is past its original expiration date it
  1521.    is removed from the CRL. Although CRLs are maintained in a
  1522.    distributed manner, there may be central repositories for CRLs, that
  1523.    is, sites on networks containing the latest CRLs from many
  1524.    organizations. An institution like a bank might want an in-house CRL
  1525.    repository to make CRL searches feasible on every transaction.
  1526.  
  1527.  
  1528. 3.12 What happens when a key expires?
  1529.  
  1530.    In order to guard against a long-term factoring attack, every key
  1531.    must have an expiration date after which it is no longer valid. The
  1532.    time to expiration must therefore be much shorter than the expected
  1533.    factoring time, or equivalently, the key length must be long enough
  1534.    to make the chances of factoring before expiration extremely small.
  1535.    The validity period for a key pair may also depend on the
  1536.    circumstances in which the key will be used, although there will also
  1537.    be a standard period. The validity period, together with the value of
  1538.    the key and the estimated strength of an expected attacker, then
  1539.    determines the appropriate key size.
  1540.  
  1541.    The expiration date of a key accompanies the public key in a
  1542.    certificate or a directory listing. The signature verification
  1543.    program should check for expiration and should not accept a message
  1544.    signed with an expired key. This means that when one's own key
  1545.    expires, everything signed with it will no longer be considered
  1546.    valid. Of course, there will be cases where it is important that a
  1547.    signed document be considered valid for a much longer period of time;
  1548.    Question 3.17 discusses ways to achieve this.
  1549.  
  1550.    After expiration, the user chooses a new key, which should be longer
  1551.    than the old key, perhaps by several digits, to reflect both the
  1552.    performance increase of computer hardware and any recent improvements
  1553.    in factoring algorithms. Recommended key length schedules will likely
  1554.    be published. A user may recertify a key that has expired, if it is
  1555.    sufficiently long and has not been compromised. The certifying
  1556.    authority would then issue a new certificate for the same key, and
  1557.    all new signatures would point to the new certificate instead of the
  1558.    old. However, the fact that computer hardware continues to improve
  1559.    argues for replacing expired keys with new, longer keys every few
  1560.    years. Key replacement enables one to take advantage of the hardware
  1561.    improvements to increase the security of the cryptosystem. Faster
  1562.    hardware has the effect of increasing security, perhaps vastly, but
  1563.    only if key lengths are increased regularly (see Question 4.5).
  1564.  
  1565.  
  1566. Fahn               Document Expiration: 22 March 1993          [Page 27]
  1567. Internet-Draft              Cryptography FAQ           22 September 1993
  1568.  
  1569.  
  1570. 3.13 What happens if I lose my private key?
  1571.  
  1572.    If your private key is lost or destroyed, but not compromised, you
  1573.    can no longer sign or decrypt messages, but anything previously
  1574.    signed with the lost key is still valid. This can happen, for
  1575.    example, if you forget the password used to access your key, or if
  1576.    the disk on which the key is stored is damaged. You need to choose a
  1577.    new key right away, to minimize the number of messages people send
  1578.    you encrypted under your old key, messages which you can no longer
  1579.    read.
  1580.  
  1581.  
  1582. 3.14 What happens if my private key is compromised?
  1583.  
  1584.    If your private key is compromised, that is, if you suspect an
  1585.    attacker may have obtained your private key, then you must assume
  1586.    that some enemy can read encrypted messages sent to you and forge
  1587.    your name on documents. The seriousness of these consequences
  1588.    underscores the importance of protecting your private key with
  1589.    extremely strong mechanisms (see Question 3.15).
  1590.  
  1591.    You must immediately notify your certifying authority and have your
  1592.    old key placed on a Certificate Revocation List (see Question 3.11);
  1593.    this will inform people that the key has been revoked. Then choose a
  1594.    new key and obtain the proper certificates for it. You may wish to
  1595.    use the new key to re-sign documents that you had signed with the
  1596.    compromised key; documents that had been time-stamped as well as
  1597.    signed might still be valid. You should also change the way you store
  1598.    your private key, to prevent compromise of the new key.
  1599.  
  1600.  
  1601. 3.15 How should I store my private key?
  1602.  
  1603.    Private keys must be stored securely, since forgery and loss of
  1604.    privacy could result from compromise. The private key should never be
  1605.    stored anywhere in plaintext form. The simplest storage mechanism is
  1606.    to encrypt the private key under a password and store the result on a
  1607.    disk. Of course, the password itself must be maintained with high
  1608.    security, not written down and not easily guessed. Storing the
  1609.    encrypted key on a disk that is not accessible through a computer
  1610.    network, such as a floppy disk or a local hard disk, will make some
  1611.    attacks more difficult. Ultimately, private keys may be stored on
  1612.    portable hardware, such as a smart card. Furthermore, a challenge-
  1613.    response protocol will be more secure than simple password access.
  1614.    Users with extremely high security needs, such as certifying
  1615.    authorities, should use special hardware devices to protect their
  1616.    keys (see Question 3.8).
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624. Fahn               Document Expiration: 22 March 1993          [Page 28]
  1625. Internet-Draft              Cryptography FAQ           22 September 1993
  1626.  
  1627.  
  1628. 3.16 How do I find someone else's public key?
  1629.  
  1630.    Suppose you want to find Bob's public key. There are several possible
  1631.    ways. You could call him up and ask him to send you his public key
  1632.    via e-mail; you could request it via e-mail as well. Certifying
  1633.    authorities may provide directory services; if Bob works for company
  1634.    Z, look in the directory kept by Z's certifying authority.
  1635.    Directories must be secure against unauthorized tampering, so that
  1636.    users can be confident that a public key listed in the directory
  1637.    actually belongs to the person listed. Otherwise, you might send
  1638.    private encrypted information to the wrong person.
  1639.  
  1640.    Eventually, full-fledged directories will arise, serving as online
  1641.    white or yellow pages. If they are compliant with CCITT X.509
  1642.    standards [19], the directories will contain certificates as well as
  1643.    public keys; the presence of certificates will lower the directories'
  1644.    security needs.
  1645.  
  1646.  
  1647. 3.17 How can signatures remain valid beyond the expiration dates of
  1648.     their   keys, or, How do you verify a 20-year-old signature?
  1649.  
  1650.    Normally, a key expires after, say, two years and a document signed
  1651.    with an expired key should not be accepted. However, there are many
  1652.    cases where it is necessary for signed documents to be regarded as
  1653.    legally valid for much longer than two years; long-term leases and
  1654.    contracts are examples. How should these cases be handled? Many
  1655.    solutions have been suggested but it is unclear which will prove the
  1656.    best. Here are some possibilities.
  1657.  
  1658.    One can have special long-term keys as well as the normal two-year
  1659.    keys. Long-term keys should have much longer modulus lengths and be
  1660.    stored more securely than two-year keys. If a long-term key expires
  1661.    in 50 years, any document signed with it would remain valid within
  1662.    that time. A problem with this method is that any compromised key
  1663.    must remain on the relevant CRL until expiration (see Question 3.11);
  1664.    if 50-year keys are routinely placed on CRLs, the CRLs could grow in
  1665.    size to unmanageable proportions. This idea can be modified as
  1666.    follows. Register the long-term key by the normal procedure, i.e.,
  1667.    for two years. At expiration time, if it has not been compromised,
  1668.    the key can be recertified, that is, issued a new certificate by the
  1669.    certifying authority, so that the key will be valid for another two
  1670.    years. Now a compromised key only needs to be kept on a CRL for at
  1671.    most two years, not fifty.
  1672.  
  1673.    One problem with the previous method is that someone might try to
  1674.    invalidate a long-term contract by refusing to renew his key. This
  1675.    problem can be circumvented by registering the contract with a
  1676.    digital time-stamping service (see Question 3.18) at the time it is
  1677.    originally signed. If all parties to the contract keep a copy of the
  1678.    time-stamp, then each can prove that the contract was signed with
  1679.    valid keys. In fact, the time-stamp can prove the validity of a
  1680.  
  1681.  
  1682. Fahn               Document Expiration: 22 March 1993          [Page 29]
  1683. Internet-Draft              Cryptography FAQ           22 September 1993
  1684.  
  1685.  
  1686.    contract even if one signer's key gets compromised at some point
  1687.    after the contract was signed. This time-stamping solution can work
  1688.    with all signed digital documents, not just multi-party contracts.
  1689.  
  1690.  
  1691. 3.18 What is a digital time-stamping service?
  1692.  
  1693.    A digital time-stamping service (DTS) issues time-stamps which
  1694.    associate a date and time with a digital document in a
  1695.    cryptographically strong way. The digital time-stamp can be used at a
  1696.    later date to prove that an electronic document existed at the time
  1697.    stated on its time-stamp. For example, a physicist who has a
  1698.    brilliant idea can write about it with a word processor and have the
  1699.    document time-stamped. The time-stamp and document together can later
  1700.    prove that the scientist deserves the Nobel Prize, even though an
  1701.    arch rival may have been the first to publish.
  1702.  
  1703.    Here's one way such a system could work. Suppose Alice signs a
  1704.    document and wants it time-stamped. She computes a message digest of
  1705.    the document using a secure hash function (see Question 8.2) and then
  1706.    sends the message digest (but not the document itself) to the DTS,
  1707.    which sends her in return a digital time-stamp consisting of the
  1708.    message digest, the date and time it was received at the DTS, and the
  1709.    signature of the DTS. Since the message digest does not reveal any
  1710.    information about the content of the document, the DTS cannot
  1711.    eavesdrop on the documents it time-stamps. Later, Alice can present
  1712.    the document and time-stamp together to prove when the document was
  1713.    written. A verifier computes the message digest of the document,
  1714.    makes sure it matches the digest in the time-stamp, and then verifies
  1715.    the signature of the DTS on the time-stamp.
  1716.  
  1717.    To be reliable, the time-stamps must not be forgeable. Consider the
  1718.    requirements for a DTS of the type just described. First, the DTS
  1719.    itself must have a long key if we want the time-stamps to be reliable
  1720.    for, say, several decades. Second, the private key of the DTS must be
  1721.    stored with utmost security, as in a tamperproof box. Third, the date
  1722.    and time must come from a clock, also inside the tamperproof box,
  1723.    which cannot be reset and which will keep accurate time for years or
  1724.    perhaps for decades. Fourth, it must be infeasible to create time-
  1725.    stamps without using the apparatus in the tamperproof box.
  1726.  
  1727.    A cryptographically strong DTS using only software [4] has been
  1728.    implemented by Bellcore; it avoids many of the requirements just
  1729.    described, such as tamperproof hardware. The Bellcore DTS essentially
  1730.    combines hash values of documents into data structures called binary
  1731.    trees, whose "root" values are periodically published in the
  1732.    newspaper. A time-stamp consists of a set of hash values which allow
  1733.    a verifier to recompute the root of the tree. Since the hash
  1734.    functions are one-way (see Question 8.2), the set of validating hash
  1735.    values cannot be forged. The time associated with the document by the
  1736.    time-stamp is the date of publication.
  1737.  
  1738.  
  1739.  
  1740. Fahn               Document Expiration: 22 March 1993          [Page 30]
  1741. Internet-Draft              Cryptography FAQ           22 September 1993
  1742.  
  1743.  
  1744.    The use of a DTS would appear to be extremely important, if not
  1745.    essential, for maintaining the validity of documents over many years
  1746.    (see Question 3.17). Suppose a landlord and tenant sign a twenty-year
  1747.    lease. The public keys used to sign the lease will expire after, say,
  1748.    two years; solutions such as recertifying the keys or resigning every
  1749.    two years with new keys require the cooperation of both parties
  1750.    several years after the original signing. If one party becomes
  1751.    dissatisfied with the lease, he or she may refuse to cooperate. The
  1752.    solution is to register the lease with the DTS at the time of the
  1753.    original signing; both parties would then receive a copy of the time-
  1754.    stamp, which can be used years later to enforce the integrity of the
  1755.    original lease.
  1756.  
  1757.    In the future, it is likely that a DTS will be used for everything
  1758.    from long-term corporate contracts to personal diaries and letters.
  1759.    Today, if an historian discovers some lost letters of Mark Twain,
  1760.    their authenticity is checked by physical means. But a similar find
  1761.    100 years from now may consist of an author's computer files; digital
  1762.    time-stamps may be the only way to authenticate the find.
  1763.  
  1764.  
  1765. 4 Factoring and Discrete Log
  1766.  
  1767.  
  1768. 4.1 What is a one-way function?
  1769.  
  1770.    A one-way function is a mathematical function that is significantly
  1771.    easier to perform in one direction (the forward direction) than in
  1772.    the opposite direction (the inverse direction). One might, for
  1773.    example, compute the function in minutes but only be able to compute
  1774.    the inverse in months or years. A trap-door one-way function is a
  1775.    one-way function where the inverse direction is easy if you know a
  1776.    certain piece of information (the trap door), but difficult
  1777.    otherwise.
  1778.  
  1779.  
  1780. 4.2 What is the significance of one-way functions for cryptography?
  1781.  
  1782.    Public-key cryptosystems are based on (presumed) trap-door one-way
  1783.    functions. The public key gives information about the particular
  1784.    instance of the function; the private key gives information about the
  1785.    trap door. Whoever knows the trap door can perform the function
  1786.    easily in both directions, but anyone lacking the trap door can
  1787.    perform the function only in the forward direction. The forward
  1788.    direction is used for encryption and signature verification; the
  1789.    inverse direction is used for decryption and signature generation.
  1790.  
  1791.    In almost all public-key systems, the size of the key corresponds to
  1792.    the size of the inputs to the one-way function; the larger the key,
  1793.    the greater the difference between the efforts necessary to compute
  1794.    the function in the forward and inverse directions (for someone
  1795.    lacking the trap door). For a digital signature to be secure for
  1796.  
  1797.  
  1798. Fahn               Document Expiration: 22 March 1993          [Page 31]
  1799. Internet-Draft              Cryptography FAQ           22 September 1993
  1800.  
  1801.  
  1802.    years, for example, it is necessary to use a trap-door one-way
  1803.    function with inputs large enough that someone without the trap door
  1804.    would need many years to compute the inverse function.
  1805.  
  1806.    All practical public-key cryptosystems are based on functions that
  1807.    are believed to be one-way, but have not been proven to be so. This
  1808.    means that it is theoretically possible that an algorithm will be
  1809.    discovered that can compute the inverse function easily without a
  1810.    trap door; this development would render any cryptosystem based on
  1811.    that one-way function insecure and useless.
  1812.  
  1813.  
  1814. 4.3 What is the factoring problem?
  1815.  
  1816.    Factoring is the act of splitting an integer into a set of smaller
  1817.    integers (factors) which, when multiplied together, form the original
  1818.    integer. For example, the factors of 15 are 3 and 5; the factoring
  1819.    problem is to find 3 and 5 when given 15. Prime factorization
  1820.    requires splitting an integer into factors that are prime numbers;
  1821.    every integer has a unique prime factorization. Multiplying two prime
  1822.    integers together is easy, but as far as we know, factoring the
  1823.    product is much more difficult.
  1824.  
  1825.  
  1826. 4.4 What is the significance of factoring in cryptography?
  1827.  
  1828.    Factoring is the underlying, presumably hard problem upon which
  1829.    several public-key cryptosystems are based, including RSA. Factoring
  1830.    an RSA modulus (see Question 2.1) would allow an attacker to figure
  1831.    out the private key; thus, anyone who can factor the modulus can
  1832.    decrypt messages and forge signatures. The security of RSA therefore
  1833.    depends on the factoring problem being difficult. Unfortunately, it
  1834.    has not been proven that factoring must be difficult, and there
  1835.    remains a possibility that a quick and easy factoring method might be
  1836.    discovered (see Question 4.7), although factoring researchers
  1837.    consider this possibility remote.
  1838.  
  1839.    Factoring large numbers takes more time than factoring smaller
  1840.    numbers. This is why the size of the modulus in RSA determines how
  1841.    secure an actual use of RSA is; the larger the modulus, the longer it
  1842.    would take an attacker to factor, and thus the more resistant to
  1843.    attack the RSA implementation is.
  1844.  
  1845.  
  1846. 4.5 Has factoring been getting easier?
  1847.  
  1848.    Factoring has become easier over the last fifteen years for two
  1849.    reasons: computer hardware has become more powerful, and better
  1850.    factoring algorithms have been developed.
  1851.  
  1852.    Hardware improvement will continue inexorably, but it is important to
  1853.    realize that hardware improvements make RSA more secure, not less.
  1854.  
  1855.  
  1856. Fahn               Document Expiration: 22 March 1993          [Page 32]
  1857. Internet-Draft              Cryptography FAQ           22 September 1993
  1858.  
  1859.  
  1860.    This is because a hardware improvement that allows an attacker to
  1861.    factor a number two digits longer than before will at the same time
  1862.    allow a legitimate RSA user to use a key dozens of digits longer than
  1863.    before; a user can choose a new key a dozen digits longer than the
  1864.    old one without any performance slowdown, yet a factoring attack will
  1865.    become much more difficult. Thus although the hardware improvement
  1866.    does help the attacker, it helps the legitimate user much more. This
  1867.    general rule may fail in the sense that factoring may take place
  1868.    using fast machines of the future, attacking RSA keys of the past; in
  1869.    this scenario, only the attacker gets the advantage of the hardware
  1870.    improvement. This consideration argues for using a larger key size
  1871.    today than one might otherwise consider warranted. It also argues for
  1872.    replacing one's RSA key with a longer key every few years, in order
  1873.    to take advantage of the extra security offered by hardware
  1874.    improvements. This point holds for other public-key systems as well.
  1875.  
  1876.    Better factoring algorithms have been more help to the RSA attacker
  1877.    than have hardware improvements. As the RSA system, and cryptography
  1878.    in general, have attracted much attention, so has the factoring
  1879.    problem, and many researchers have found new factoring methods or
  1880.    improved upon others. This has made factoring easier, for numbers of
  1881.    any size and irrespective of the speed of the hardware. However,
  1882.    factoring is still a very difficult problem.
  1883.  
  1884.    Overall, any recent decrease in security due to algorithm improvement
  1885.    can be offset by increasing the key size. In fact, between general
  1886.    computer hardware improvements and special-purpose RSA hardware
  1887.    improvements, increases in key size (maintaining a constant speed of
  1888.    RSA operations) have kept pace or exceeded increases in algorithm
  1889.    efficiency, resulting in no net loss of security. As long as hardware
  1890.    continues to improve at a faster rate than that at which the
  1891.    complexity of factoring algorithms decreases, the security of RSA
  1892.    will increase, assuming RSA users regularly increase their key size
  1893.    by appropriate amounts. The open question is how much faster
  1894.    factoring algorithms can get; there must be some intrinsic limit to
  1895.    factoring speed, but this limit remains unknown.
  1896.  
  1897.  
  1898. 4.6 What are the best factoring methods in use today?
  1899.  
  1900.    Factoring is a very active field of research among mathematicians and
  1901.    computer scientists; the best factoring algorithms are mentioned
  1902.    below with some references and their big-O asymptotic efficiency. O
  1903.    notation measures how fast an algorithm is; it gives an upper bound
  1904.    on the number of operations (to order of magnitude) in terms of n,
  1905.    the number to be factored, and p, a prime factor of n. For textbook
  1906.    treatment of factoring algorithms, see [41], [42], [47], and [11];
  1907.    for a detailed explanation of big-O notation, see [22].
  1908.  
  1909.    Factoring algorithms come in two flavors, special purpose and general
  1910.    purpose; the efficiency of the former depends on the unknown factors,
  1911.    whereas the efficiency of the latter depends on the number to be
  1912.  
  1913.  
  1914. Fahn               Document Expiration: 22 March 1993          [Page 33]
  1915. Internet-Draft              Cryptography FAQ           22 September 1993
  1916.  
  1917.  
  1918.    factored. Special purpose algorithms are best for factoring numbers
  1919.    with small factors, but the numbers used for the modulus in the RSA
  1920.    system do not have any small factors. Therefore, general purpose
  1921.    factoring algorithms are the more important ones in the context of
  1922.    cryptographic systems and their security.
  1923.  
  1924.    Special purpose factoring algorithms include the Pollard rho method
  1925.    [66], with expected running time O(sqrt(p)), and the Pollard p-1
  1926.    method [67], with running time O(p'), where p' is the largest prime
  1927.    factor of p-1. Both of these take an amount of time that is
  1928.    exponential in the size of p, the prime factor that they find; thus
  1929.    these algorithms are too slow for most factoring jobs. The elliptic
  1930.    curve method (ECM) [50] is superior to these; its asymptotic running
  1931.    time is O(exp (sqrt (2 ln p ln ln p)) ). The ECM is often used in
  1932.    practice to find factors of randomly generated numbers; it is not
  1933.    strong  enough to factor a large RSA modulus.
  1934.  
  1935.    The best general purpose factoring algorithm today is the number
  1936.    field sieve [16], which runs in time approximately O(exp ( 1.9 (ln
  1937.    n)^{1/3} (ln ln n)^{2/3}) ). It has only recently been implemented
  1938.    [15], and is not yet practical enough to perform the most desired
  1939.    factorizations. Instead, the most widely used general purpose
  1940.    algorithm is the multiple polynomial quadratic sieve (mpqs) [77],
  1941.    which has running time O(exp ( sqrt (ln n ln ln n)) ). The mpqs (and
  1942.    some of its variations) is the only general purpose algorithm that
  1943.    has successfully factored numbers greater than 110 digits; a
  1944.    variation known as ppmpqs [49] has been particularly popular.
  1945.  
  1946.    It is expected that within a few years the number field sieve will
  1947.    overtake the mpqs as the most widely used factoring algorithm, as the
  1948.    size of the numbers being factored increases from about 120 digits,
  1949.    which is the current threshold of general numbers which can be
  1950.    factored, to 130 or 140 digits. A "general number" is one with no
  1951.    special form that might make it easier to factor; an RSA modulus is a
  1952.    general number. Note that a 512-bit number has about 155 digits.
  1953.  
  1954.    Numbers that have a special form can already be factored up to 155
  1955.    digits or more [48]. The Cunningham Project [14] keeps track of the
  1956.    factorizations of numbers with these special forms and maintains a
  1957.    "10 Most Wanted" list of desired factorizations. Also, a good way to
  1958.    survey current factoring capability is to look at recent results of
  1959.    the RSA Factoring Challenge (see Question 4.8).
  1960.  
  1961.  
  1962. 4.7 What are the prospects for theoretical factoring breakthroughs?
  1963.  
  1964.    Although factoring is strongly believed to be a difficult
  1965.    mathematical problem, it has not been proved so. Therefore there
  1966.    remains a possibility that an easy factoring algorithm will be
  1967.    discovered. This development, which could seriously weaken RSA, would
  1968.    be highly surprising and the possibility is considered extremely
  1969.  
  1970.  
  1971.  
  1972. Fahn               Document Expiration: 22 March 1993          [Page 34]
  1973. Internet-Draft              Cryptography FAQ           22 September 1993
  1974.  
  1975.  
  1976.    remote by the researchers most actively engaged in factoring
  1977.    research.
  1978.  
  1979.    Another possibility is that someone will prove that factoring is
  1980.    difficult. This negative breakthrough is probably more likely than
  1981.    the positive breakthrough discussed above, but would also be
  1982.    unexpected at the current state of theoretical factoring research.
  1983.    This development would guarantee the security of RSA beyond a certain
  1984.    key size.
  1985.  
  1986.  
  1987. 4.8 What is the RSA Factoring Challenge?
  1988.  
  1989.    RSA Data Security Inc. (RSADSI) administers a factoring contest with
  1990.    quarterly cash prizes. Those who factor numbers listed by RSADSI earn
  1991.    points toward the prizes; factoring smaller numbers earns more points
  1992.    than factoring larger numbers. Results of the contest may be useful
  1993.    to those who wish to know the state of the art in factoring; the
  1994.    results show the size of numbers factored, which algorithms are used,
  1995.    and how much time was required to factor each number. Send e-mail to
  1996.    <challenge-info@rsa.com> for information.
  1997.  
  1998.  
  1999. 4.9 What is the discrete log problem?
  2000.  
  2001.    The discrete log problem, in its most common formulation, is to find
  2002.    the exponent x in the formula y=g^x mod p; in other words, it seeks
  2003.    to answer the question, To what power must g be raised in order to
  2004.    obtain y, modulo the prime number p? There are other, more general,
  2005.    formulations as well.
  2006.  
  2007.    Like the factoring problem, the discrete log problem is believed to
  2008.    be difficult and also to be the hard direction of a one-way function.
  2009.    For this reason, it has been the basis of several public-key
  2010.    cryptosystems, including the ElGamal system and DSS (see Questions
  2011.    2.15 and 6.8). The discrete log problem bears the same relation to
  2012.    these systems as factoring does to RSA: the security of these systems
  2013.    rests on the assumption that discrete logs are difficult to compute.
  2014.  
  2015.    The discrete log problem has received much attention in recent years;
  2016.    descriptions of some of the most efficient algorithms can be found in
  2017.    [47], [21], and [33]. The best discrete log problems have expected
  2018.    running times similar to that of the best factoring algorithms.
  2019.    Rivest [72] has analyzed the expected time to solve discrete log both
  2020.    in terms of computing power and money.
  2021.  
  2022.  
  2023. 4.10 Which is easier, factoring or discrete log?
  2024.  
  2025.    The asymptotic running time of the best discrete log algorithm is
  2026.    approximately the same as for the best general purpose factoring
  2027.    algorithm. Therefore, it requires about as much effort to solve the
  2028.  
  2029.  
  2030. Fahn               Document Expiration: 22 March 1993          [Page 35]
  2031. Internet-Draft              Cryptography FAQ           22 September 1993
  2032.  
  2033.  
  2034.    discrete log problem modulo a 512-bit prime as to factor a 512-bit
  2035.    RSA modulus. One paper [45] cites experimental evidence that the
  2036.    discrete log problem is slightly harder than factoring: the authors
  2037.    suggest that the effort necessary to factor a 110-digit integer is
  2038.    the same as the effort to solve discrete logarithms modulo a 100-
  2039.    digit prime. This difference is so slight that it should not be a
  2040.    significant consideration when choosing a cryptosystem.
  2041.  
  2042.    Historically, it has been the case that an algorithmic advance in
  2043.    either problem, factoring or discrete logs, was then applied to the
  2044.    other. This suggests that the degrees of difficulty of both problems
  2045.    are closely linked, and that any breakthrough, either positive or
  2046.    negative, will affect both problems equally.
  2047.  
  2048.  
  2049. 5 DES
  2050.  
  2051.  
  2052. 5.1 What is DES?
  2053.  
  2054.    DES is the Data Encryption Standard, an encryption block cipher
  2055.    defined and endorsed by the U.S. government in 1977 as an official
  2056.    standard; the details can be found in the official FIPS publication
  2057.    [59]. It was originally developed at IBM. DES has been extensively
  2058.    studied over the last 15 years and is the most well-known and widely
  2059.    used cryptosystem in the world.
  2060.  
  2061.    DES is a secret-key, symmetric cryptosystem: when used for
  2062.    communication, both sender and receiver must know the same secret
  2063.    key, which is used both to encrypt and decrypt the message. DES can
  2064.    also be used for single-user encryption, such as to store files on a
  2065.    hard disk in encrypted form. In a multi-user environment, secure key
  2066.    distribution may be difficult; public-key cryptography was invented
  2067.    to solve this problem (see Question 1.3). DES operates on 64-bit
  2068.    blocks with a 56-bit key. It was designed to be implemented in
  2069.    hardware, and its operation is relatively fast. It works well for
  2070.    bulk encryption, that is, for encrypting a large set of data.
  2071.  
  2072.    NIST (see Question 7.1) has recertified DES as an official U.S.
  2073.    government encryption standard every five years; DES was last
  2074.    recertified in 1993, by default. NIST has indicated, however, that it
  2075.    may not recertify DES again.
  2076.  
  2077.  
  2078. 5.2 Has DES been broken?
  2079.  
  2080.    DES has never been "broken", despite the efforts of many researchers
  2081.    over many years. The obvious method of attack is brute-force
  2082.    exhaustive search of the key space; this takes 2^{55} steps on
  2083.    average. Early on it was suggested [28] that a rich and powerful
  2084.    enemy could build a special-purpose computer capable of breaking DES
  2085.    by exhaustive search in a reasonable amount of time. Later, Hellman
  2086.  
  2087.  
  2088. Fahn               Document Expiration: 22 March 1993          [Page 36]
  2089. Internet-Draft              Cryptography FAQ           22 September 1993
  2090.  
  2091.  
  2092.    [36] showed a time-memory trade-off that allows improvement over
  2093.    exhaustive search if memory space is plentiful, after an exhaustive
  2094.    precomputation. These ideas fostered doubts about the security of
  2095.    DES. There were also accusations that the NSA had intentionally
  2096.    weakened DES. Despite these suspicions, no feasible way to break DES
  2097.    faster than exhaustive search was discovered. The cost of a
  2098.    specialized computer to perform exhaustive search has been estimated
  2099.    by Wiener at one million dollars [80].
  2100.  
  2101.    Just recently, however, the first attack on DES that is better than
  2102.    exhaustive search was announced by Eli Biham and Adi Shamir [6,7],
  2103.    using a new technique known as differential cryptanalysis. This
  2104.    attack requires encryption of 2^{47} chosen plaintexts, i.e.,
  2105.    plaintexts chosen by the attacker. Although a theoretical
  2106.    breakthrough, this attack is not practical under normal circumstances
  2107.    because it requires the attacker to have easy access to the DES
  2108.    device in order to encrypt the chosen plaintexts. Another attack,
  2109.    known as linear cryptanalysis [51], does not require chosen
  2110.    plaintexts.
  2111.  
  2112.    The consensus is that DES, when used properly, is secure against all
  2113.    but the most powerful enemies. In fact, triple encryption DES (see
  2114.    Question 5.3) may be secure against anyone at all. Biham and Shamir
  2115.    have stated that they consider DES secure. It is used extensively in
  2116.    a wide variety of cryptographic systems, and in fact, most
  2117.    implementations of public-key cryptography include DES at some level.
  2118.  
  2119.  
  2120. 5.3 How does one use DES securely?
  2121.  
  2122.    When using DES, there are several practical considerations that can
  2123.    affect the security of the encrypted data. One should change DES keys
  2124.    frequently, in order to prevent attacks that require sustained data
  2125.    analysis. In a communications context, one must also find a secure
  2126.    way of communicating the DES key to both sender and receiver. Use of
  2127.    RSA or some other public-key technique for key management solves both
  2128.    these issues: a different DES key is generated for each session, and
  2129.    secure key management is provided by encrypting the DES key with the
  2130.    receiver's RSA public key. RSA, in this circumstance, can be regarded
  2131.    as a tool for improving the security of DES (or any other secret key
  2132.    cipher).
  2133.  
  2134.    If one wishes to use DES to encrypt files stored on a hard disk, it
  2135.    is not feasible to frequently change the DES keys, as this would
  2136.    entail decrypting and then re-encrypting all files upon each key
  2137.    change. Instead, one should have a master DES key with which one
  2138.    encrypts the list of DES keys used to encrypt the files; one can then
  2139.    change the master key frequently without much effort.
  2140.  
  2141.    A powerful technique for improving the security of DES is triple
  2142.    encryption, that is, encrypting each message block under three
  2143.    different DES keys in succession. Triple encryption is thought to be
  2144.  
  2145.  
  2146. Fahn               Document Expiration: 22 March 1993          [Page 37]
  2147. Internet-Draft              Cryptography FAQ           22 September 1993
  2148.  
  2149.  
  2150.    equivalent to doubling the key size of DES, to 112 bits, and should
  2151.    prevent decryption by an enemy capable of single-key exhaustive
  2152.    search [53]. Of course, using triple-encryption takes three times as
  2153.    long as single-encryption DES.
  2154.  
  2155.    Aside from the issues mentioned above, DES can be used for encryption
  2156.    in several officially defined modes. Some are more secure than
  2157.    others. ECB (electronic codebook) mode simply encrypts each 64-bit
  2158.    block of plaintext one after another under the same 56-bit DES key.
  2159.    In CBC (cipher block chaining) mode, each 64-bit plaintext block is
  2160.    XORed with the previous ciphertext block before being encrypted with
  2161.    the DES key. Thus the encryption of each block depends on previous
  2162.    blocks and the same 64-bit plaintext block can encrypt to different
  2163.    ciphertext depending on its context in the overall message. CBC mode
  2164.    helps protect against certain attacks, although not against
  2165.    exhaustive search or differential cryptanalysis. CFB (cipher
  2166.    feedback) mode allows one to use DES with block lengths less than 64
  2167.    bits. Detailed descriptions of the various DES modes can be found in
  2168.    [60].
  2169.  
  2170.    In practice, CBC is the most widely used mode of DES, and is
  2171.    specified in several standards. For additional security, one could
  2172.    use triple encryption with CBC, but since single DES in CBC mode is
  2173.    usually considered secure enough, triple encryption is not often
  2174.    used.
  2175.  
  2176.  
  2177. 5.4 Can DES be exported from the U.S.?
  2178.  
  2179.    Export of DES, either in hardware or software, is strictly regulated
  2180.    by the U.S. State Department and the NSA (see Question 1.6). The
  2181.    government rarely approves export of DES, despite the fact that DES
  2182.    is widely available overseas; financial institutions and foreign
  2183.    subsidiaries of U.S. companies are exceptions.
  2184.  
  2185.  
  2186. 5.5 What are the alternatives to DES?
  2187.  
  2188.    Over the years, various bulk encryption algorithms have been designed
  2189.    as alternatives to DES. One is FEAL (Fast Encryption ALgorithm), a
  2190.    cipher for which attacks have been discovered [6], although new
  2191.    versions have been proposed. Another recently proposed cipher
  2192.    designed by Lai and Massey [44] and known as IDEA seems promising,
  2193.    although it has not yet received sufficient scrutiny to instill full
  2194.    confidence in its security. The U.S. government recently announced a
  2195.    new algorithm called Skipjack (see Question 6.5) as part of its
  2196.    Capstone project. Skipjack operates on 64-bit blocks of data, as does
  2197.    DES, but uses 80-bit keys, as opposed to 56-bit keys in DES. However,
  2198.    the details of Skipjack are classified, so Skipjack is only available
  2199.    in hardware from government-authorized manufacturers.
  2200.  
  2201.  
  2202.  
  2203.  
  2204. Fahn               Document Expiration: 22 March 1993          [Page 38]
  2205. Internet-Draft              Cryptography FAQ           22 September 1993
  2206.  
  2207.  
  2208.    Rivest has developed the ciphers RC2 and RC4 (see Question 8.6),
  2209.    which can be made as secure as necessary because they use variable
  2210.    key sizes. Faster than DES, at least in software, they have the
  2211.    further advantage of special U.S. government status whereby the
  2212.    export approval is simplified and expedited if the key size is
  2213.    limited to 40 bits.
  2214.  
  2215.  
  2216. 5.6 Is DES a group?
  2217.  
  2218.    It has been frequently asked whether DES encryption is closed under
  2219.    composition; i.e., is encrypting a plaintext under one DES key and
  2220.    then encrypting the result under another key always equivalent to a
  2221.    single encryption under a single key? Algebraically, is DES a group?
  2222.    If so, then DES might be weaker than would otherwise be the case; see
  2223.    [39] for a more complete discussion. However, the answer is no, DES
  2224.    is not a group [18]; this issue was settled only recently, after many
  2225.    years of speculation and circumstantial evidence. This result seems
  2226.    to imply that techniques such as triple encryption do in fact
  2227.    increase the security of DES.
  2228.  
  2229.  
  2230. 6 Capstone, Clipper, and DSS
  2231.  
  2232.  
  2233. 6.1 What is Capstone?
  2234.  
  2235.    Capstone is the U.S. government's long-term project to develop a set
  2236.    of standards for publicly-available cryptography, as authorized by
  2237.    the Computer Security Act of 1987. The primary agencies responsible
  2238.    for Capstone are NIST and the NSA (see Section 7). The plan calls for
  2239.    the elements of Capstone to become official U.S. government
  2240.    standards, in which case both the government itself and all private
  2241.    companies doing business with the government would be required to use
  2242.    Capstone.
  2243.  
  2244.    There are four major components of Capstone: a bulk data encryption
  2245.    algorithm, a digital signature algorithm, a key exchange protocol,
  2246.    and a hash function. The data encryption algorithm is called Skipjack
  2247.    (see Question 6.5), but is often referred to as Clipper, which is the
  2248.    encryption chip that includes Skipjack (see Question 6.2). The
  2249.    digital signature algorithm is DSS (see Question 6.8) and the hash
  2250.    function is SHS (see Question 8.4 about SHS and Question 8.2 about
  2251.    hash functions). The key exchange protocol has not yet been
  2252.    announced.
  2253.  
  2254.    All the parts of Capstone have 80-bit security: all the keys involved
  2255.    are 80 bits long and other aspects are also designed to withstand
  2256.    anything less than an "80-bit" attack, that is, an effort of 2^{80}
  2257.    operations. Eventually the government plans to place the entire
  2258.    Capstone cryptographic system on a single chip.
  2259.  
  2260.  
  2261.  
  2262. Fahn               Document Expiration: 22 March 1993          [Page 39]
  2263. Internet-Draft              Cryptography FAQ           22 September 1993
  2264.  
  2265.  
  2266. 6.2 What is Clipper?
  2267.  
  2268.    Clipper is an encryption chip developed and sponsored by the U.S.
  2269.    government as part of the Capstone project (see Question 6.1).
  2270.    Announced by the White House in April, 1993 [65], Clipper was
  2271.    designed to balance the competing concerns of federal law-enforcement
  2272.    agencies with those of private citizens and industry. The law-
  2273.    enforcement agencies wish to have access to the communications of
  2274.    suspected criminals, for example by wire-tapping; these needs are
  2275.    threatened by secure cryptography. Industry and individual citizens,
  2276.    however, want secure communications, and look to cryptography to
  2277.    provide it.
  2278.  
  2279.    Clipper technology attempts to balance these needs by using escrowed
  2280.    keys. The idea is that communications would be encrypted with a
  2281.    secure algorithm, but the keys would be kept by one or more third
  2282.    parties (the "escrow agencies"), and made available to law-
  2283.    enforcement agencies when authorized by a court-issued warrant. Thus,
  2284.    for example, personal communications would be impervious to
  2285.    recreational eavesdroppers, and commercial communications would be
  2286.    impervious to industrial espionage, and yet the FBI could listen in
  2287.    on suspected terrorists or gangsters.
  2288.  
  2289.    Clipper has been proposed as a U.S. government standard [62]; it
  2290.    would then be used by anyone doing business with the federal
  2291.    government as well as for communications within the government. For
  2292.    anyone else, use of Clipper is strictly voluntary. AT&T has announced
  2293.    a secure telephone that uses the Clipper chip.
  2294.  
  2295.  
  2296. 6.3 How does the Clipper chip work?
  2297.  
  2298.    The Clipper chip contains an encryption algorithm called Skipjack
  2299.    (see Question 6.5}), whose details have not been made public. Each
  2300.    chip also contains a unique 80-bit unit key U, which is escrowed in
  2301.    two parts at two escrow agencies; both parts must be known in order
  2302.    to recover the key. Also present is a serial number and an 80-bit
  2303.    "family key" F; the latter is common to all Clipper chips. The chip
  2304.    is manufactured so that it cannot be reverse engineered; this means
  2305.    that the Skipjack algorithm and the keys cannot be read off the chip.
  2306.  
  2307.    When two devices wish to communicate, they first agree on an 80-bit
  2308.    "session key" K. The method by which they choose this key is left up
  2309.    to the implementer's discretion; a public-key method such as RSA or
  2310.    Diffie-Hellman seems a likely choice. The message is encrypted with
  2311.    the key K and sent; note that the key K is not escrowed. In addition
  2312.    to the encrypted message, another piece of data, called the law-
  2313.    enforcement access field (LEAF), is created and sent. It includes the
  2314.    session key K encrypted with the unit key U, then concatenated with
  2315.    the serial number of the sender and an authentication string, and
  2316.    then, finally, all encrypted with the family key. The exact details
  2317.    of the law-enforcement field are classified.
  2318.  
  2319.  
  2320. Fahn               Document Expiration: 22 March 1993          [Page 40]
  2321. Internet-Draft              Cryptography FAQ           22 September 1993
  2322.  
  2323.  
  2324.    The receiver decrypts the law-enforcement field, checks the
  2325.    authentication string, and decrypts the message with the key K.
  2326.  
  2327.    Now suppose a law-enforcement agency wishes to tap the line. It uses
  2328.    the family key to decrypt the law-enforcement field; the agency now
  2329.    knows the serial number and has an encrypted version of the session
  2330.    key. It presents an authorization warrant to the two escrow agencies
  2331.    along with the serial number. The escrow agencies give the two parts
  2332.    of the unit key to the law-enforcement agency, which then decrypts to
  2333.    obtain the session key K. Now the agency can use K to decrypt the
  2334.    actual message.
  2335.  
  2336.    Further details on the Clipper chip operation, such as the generation
  2337.    of the unit key, are sketched by Denning [26].
  2338.  
  2339.  
  2340. 6.4 Who are the escrow agencies?
  2341.  
  2342.    It has not yet been decided which organizations will serve as the
  2343.    escrow agencies, that is, keep the Clipper chip keys. No law-
  2344.    enforcement agency will be an escrow agency, and it is possible that
  2345.    at least one of the escrow agencies will be an organization outside
  2346.    the government.
  2347.  
  2348.    It is essential that the escrow agencies keep the key databases
  2349.    extremely secure, since unauthorized access to both escrow databases
  2350.    could allow unauthorized eavesdropping on private communications. In
  2351.    fact, the escrow agencies are likely to be one of the major targets
  2352.    for anyone trying to compromise the Clipper system; the Clipper chip
  2353.    factory is another likely target.
  2354.  
  2355.  
  2356. 6.5 What is Skipjack?
  2357.  
  2358.    Skipjack is the encryption algorithm contained in the Clipper chip;
  2359.    it was designed by the NSA. It uses an 80-bit key to encrypt 64-bit
  2360.    blocks of data; the same key is used for the decryption. Skipjack can
  2361.    be used in the same modes as DES (see Question 5.3), and may be more
  2362.    secure than DES, since it uses 80-bit keys and scrambles the data for
  2363.    32 steps, or "rounds"; by contrast, DES uses 56-bit keys and
  2364.    scrambles the data for only 16 rounds.
  2365.  
  2366.    The details of Skipjack are classified. The decision not to make the
  2367.    details of the algorithm publicly available has been widely
  2368.    criticized. Many people are suspicious that Skipjack is not secure,
  2369.    either due to oversight by its designers, or by the deliberate
  2370.    introduction of a secret trapdoor. By contrast, there have been many
  2371.    attempts to find weaknesses in DES over the years, since its details
  2372.    are public. These numerous attempts (and the fact that they have
  2373.    failed) have made people confident in the security of DES. Since
  2374.    Skipjack is not public, the same scrutiny cannot be applied towards
  2375.    it, and thus a corresponding level of confidence may not arise.
  2376.  
  2377.  
  2378. Fahn               Document Expiration: 22 March 1993          [Page 41]
  2379. Internet-Draft              Cryptography FAQ           22 September 1993
  2380.  
  2381.  
  2382.    Aware of such criticism, the government invited a small group of
  2383.    independent cryptographers to examine the Skipjack algorithm. They
  2384.    issued a report [12] which stated that, although their study was too
  2385.    limited to reach a definitive conclusion, they nevertheless believe
  2386.    that Skipjack is secure.
  2387.  
  2388.    Another consequence of Skipjack's classified status is that it cannot
  2389.    be implemented in software, but only in hardware by government-
  2390.    authorized chip manufacturers.
  2391.  
  2392.  
  2393. 6.6 Why is Clipper controversial?
  2394.  
  2395.    The Clipper chip proposal has aroused much controversy and has been
  2396.    the subject of much criticism. Unfortunately two distinct issues have
  2397.    become confused in the large volume of public comment and discussion.
  2398.  
  2399.    First there is controversy about the whole idea of escrowed keys.
  2400.    Those in favor of escrowed keys see it as a way to provide secure
  2401.    communications for the public at large while allowing law-enforcement
  2402.    agencies to monitor the communications of suspected criminals. Those
  2403.    opposed to escrowed keys see it as an unnecessary and ineffective
  2404.    intrusion of the government into the private lives of citizens. They
  2405.    argue that escrowed keys infringe their rights of privacy and free
  2406.    speech. It will take a lot of time and much public discussion for
  2407.    society to reach a consensus on what role, if any, escrowed keys
  2408.    should have.
  2409.  
  2410.    The second area of controversy concerns various objections to the
  2411.    specific Clipper proposal, that is, objections to this particular
  2412.    implementation of escrowed keys, as opposed to the idea of escrowed
  2413.    keys in general. Common objections include: the Skipjack algorithm is
  2414.    not public (see Questions 6.5) and may not be secure; the key escrow
  2415.    agencies will be vulnerable to attack; there are not enough key
  2416.    escrow agencies; the keys on the Clipper chips are not generated in a
  2417.    sufficiently secure fashion; there will not be sufficient competition
  2418.    among implementers, resulting in expensive and slow chips; software
  2419.    implementations are not possible; and the key size is fixed and
  2420.    cannot be increased if necessary.
  2421.  
  2422.    Micali [55] has recently proposed an alternative system that also
  2423.    attempts to balance the privacy concerns of law-abiding citizens with
  2424.    the investigative concerns of law-enforcement agencies. Called fair
  2425.    public-key cryptography, it is similar in function and purpose to the
  2426.    Clipper chip proposal but users can choose their own keys, which they
  2427.    register with the escrow agencies. Also, the system does not require
  2428.    secure hardware, and can be implemented completely in software.
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435. Fahn               Document Expiration: 22 March 1993          [Page 42]
  2436. Internet-Draft              Cryptography FAQ           22 September 1993
  2437.  
  2438.  
  2439. 6.7 What is the current status of Clipper?
  2440.  
  2441.    Clipper is under review. Both the executive branch and Congress are
  2442.    considering it, and an advisory panel recently recommended a full
  2443.    year-long public discussion of cryptography policy. NIST has invited
  2444.    the public to send comments, as part of its own review.
  2445.  
  2446.  
  2447. 6.8 What is DSS?
  2448.  
  2449.    DSS is the proposed Digital Signature Standard, which specifies a
  2450.    Digital Signature Algorithm (DSA), and is a part of the U.S.
  2451.    government's Capstone project (see Question 6.1). It was selected by
  2452.    NIST, in cooperation with the NSA (see Section 7), to be the digital
  2453.    authentication standard of the U.S. government; whether the
  2454.    government should in fact adopt it as the official standard is still
  2455.    under debate.
  2456.  
  2457.    DSS is based on the discrete log problem (see Question 4.9) and
  2458.    derives from cryptosystems proposed by Schnorr [75] and ElGamal [30].
  2459.    It is for authentication only. For a detailed description of DSS, see
  2460.    [63] or [57].
  2461.  
  2462.    DSS has, for the most part, been looked upon unfavorably by the
  2463.    computer industry, much of which had hoped the government would
  2464.    choose the RSA algorithm as the official standard; RSA is the most
  2465.    widely used authentication algorithm. Several articles in the press,
  2466.    such as [54], discuss the industry dissatisfaction with DSS.
  2467.    Criticism of DSS has focused on a few main issues: it lacks key
  2468.    exchange capability; the underlying cryptosystem is too recent and
  2469.    has been subject to too little scrutiny for users to be confident of
  2470.    its strength; verification of signatures with DSS is too slow; the
  2471.    existence of a second authentication standard will cause hardship to
  2472.    computer hardware and software vendors, who have already standardized
  2473.    on RSA; and that the process by which NIST chose DSS was too
  2474.    secretive and arbitrary, with too much influence wielded by NSA.
  2475.    Other criticisms were addressed by NIST by modifying the original
  2476.    proposal. A more detailed discussion of the various criticisms can be
  2477.    found in [57], and a detailed response by NIST can be found in [78].
  2478.  
  2479.    In the DSS system, signature generation is faster than signature
  2480.    verification, whereas in the RSA system, signature verification is
  2481.    faster than signature generation (if the public and private exponents
  2482.    are chosen for this property, which is the usual case). NIST claims
  2483.    that it is an advantage of DSS that signing is faster, but many
  2484.    people in cryptography think that it is better for verification to be
  2485.    the faster operation.
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493. Fahn               Document Expiration: 22 March 1993          [Page 43]
  2494. Internet-Draft              Cryptography FAQ           22 September 1993
  2495.  
  2496.  
  2497. 6.9 Is DSS secure?
  2498.  
  2499.    The most serious criticisms of DSS involve its security. DSS was
  2500.    originally proposed with a fixed 512-bit key size. After much
  2501.    criticism that this is not secure enough, NIST revised DSS to allow
  2502.    key sizes up to 1024 bits. More critical, however, is the fact that
  2503.    DSS has not been around long enough to withstand repeated attempts to
  2504.    break it; although the discrete log problem is old, the particular
  2505.    form of the problem used in DSS was first proposed for cryptographic
  2506.    use in 1989 by Schnorr [75] and has not received much public study.
  2507.    In general, any new cryptosystem could have serious flaws that are
  2508.    only discovered after years of scrutiny by cryptographers. Indeed
  2509.    this has happened many times in the past; see [13] for some detailed
  2510.    examples. RSA has withstood over 15 years of vigorous examination for
  2511.    weaknesses. In the absence of mathematical proofs of security,
  2512.    nothing builds confidence in a cryptosystem like sustained attempts
  2513.    to crack it. Although DSS may well turn out to be a strong
  2514.    cryptosystem, its relatively short history will leave doubts for
  2515.    years to come.
  2516.  
  2517.    Some researchers warned about the existence of "trapdoor" primes in
  2518.    DSS, which could enable a key to be easily broken. These trapdoor
  2519.    primes are relatively rare however, and are easily avoided if proper
  2520.    key generation procedures are followed [78].
  2521.  
  2522.  
  2523. 6.10 Is use of DSS covered by any patents?
  2524.  
  2525.    NIST has filed a patent application for DSS and there have been
  2526.    claims that DSS is covered by other public-key patents. NIST recently
  2527.    announced its intention to grant exclusive sublicensing rights for
  2528.    the DSS patent to Public Key Partners (PKP), which also holds the
  2529.    sublicensing rights to other patents that may cover DSS (see Question
  2530.    1.5). In the agreement between NIST and PKP, PKP publicly stated
  2531.    uniform guidelines by which it will grant licenses to practice DSS.
  2532.    PKP stated that DSS can be used on a royalty-free basis in the case
  2533.    of personal, noncommercial, or U.S. government use. See [61] for
  2534.    details on the agreement and the licensing policy.
  2535.  
  2536.  
  2537. 6.11 What is the current status of DSS?
  2538.  
  2539.    After NIST issued the DSS proposal in August 1991, there was a period
  2540.    in which comments from the public were solicited; NIST then revised
  2541.    its proposal in light of the comments. DSS may be issued as a FIPS
  2542.    and become the official U.S. government standard, but it is not clear
  2543.    when this might happen. DSS is currently in the process of becoming a
  2544.    standard, along with RSA, for the financial services industry; a
  2545.    recent draft standard [1] contains the revised version of DSS.
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551. Fahn               Document Expiration: 22 March 1993          [Page 44]
  2552. Internet-Draft              Cryptography FAQ           22 September 1993
  2553.  
  2554.  
  2555. 7 NIST and NSA
  2556.  
  2557.  
  2558. 7.1 What is NIST?
  2559.  
  2560.    NIST is an acronym for the National Institute of Standards and
  2561.    Technology, a division of the U.S. Department of Commerce; it was
  2562.    formerly known as the National Bureau of Standards (NBS). Through its
  2563.    Computer Systems Laboratory it aims to promote open systems and
  2564.    interoperability that will spur development of computer-based
  2565.    economic activity. NIST issues standards and guidelines that it hopes
  2566.    will be adopted by all computer systems in the U.S., and also
  2567.    sponsors workshops and seminars. Official standards are published as
  2568.    FIPS (Federal Information Processing Standards) publications.
  2569.  
  2570.    In 1987 Congress passed the Computer Security Act, which authorized
  2571.    NIST to develop standards for ensuring the security of sensitive but
  2572.    unclassified information in government computer systems. It
  2573.    encouraged NIST to work with other government agencies and private
  2574.    industry in evaluating proposed computer security standards.
  2575.  
  2576.  
  2577. 7.2 What role does NIST play in cryptography?
  2578.  
  2579.    NIST issues standards for cryptographic routines; U.S. government
  2580.    agencies are required to use them, and the private sector often
  2581.    adopts them as well. In January 1977, NIST declared DES (see Question
  2582.    5.1) the official U.S. encryption standard and published it as FIPS
  2583.    Publication 46; DES soon became a de facto standard throughout the
  2584.    U.S.
  2585.  
  2586.    A few years ago, NIST was asked to choose a set of cryptographic
  2587.    standards for the U.S.; this has become known as the Capstone project
  2588.    (see Section 6). After a few years of rather secretive deliberations,
  2589.    and in cooperation with the NSA, NIST issued proposals for various
  2590.    standards in cryptography, including digital signatures (DSS) and
  2591.    data encryption (the Clipper chip); these are pieces of the overall
  2592.    Capstone project.
  2593.  
  2594.    NIST has been criticized for allowing the NSA too much power in
  2595.    setting cryptographic standards, since the interests of the NSA
  2596.    conflict with that of the Commerce Department and NIST. Yet, the NSA
  2597.    has much more experience with cryptography, and many more qualified
  2598.    cryptographers and cryptanalysts, than does NIST; it would be
  2599.    unrealistic to expect NIST to forego such available assistance.
  2600.  
  2601.  
  2602. 7.3 What is the NSA?
  2603.  
  2604.    The NSA is the National Security Agency, a highly secretive agency of
  2605.    the U.S. government that was created by Harry Truman in 1952; its
  2606.    very existence was kept secret for many years. For a history of the
  2607.  
  2608.  
  2609. Fahn               Document Expiration: 22 March 1993          [Page 45]
  2610. Internet-Draft              Cryptography FAQ           22 September 1993
  2611.  
  2612.  
  2613.    NSA, see Bamford [2]. The NSA has a mandate to listen to and decode
  2614.    all foreign communications of interest to the security of the United
  2615.    States. It has also used its power in various ways (see Question 7.4)
  2616.    to slow the spread of publicly available cryptography, in order to
  2617.    prevent national enemies from employing encryption methods too strong
  2618.    for the NSA to break.
  2619.  
  2620.    As the premier cryptographic government agency, the NSA has huge
  2621.    financial and computer resources and employs a host of
  2622.    cryptographers. Developments in cryptography achieved at the NSA are
  2623.    not made public; this secrecy has led to many rumors about the NSA's
  2624.    ability to break popular cryptosystems like DES and also to rumors
  2625.    that the NSA has secretly placed weaknesses, called trap doors, in
  2626.    government-endorsed cryptosystems, such as DES. These rumors have
  2627.    never been proved or disproved, and the criteria used by the NSA in
  2628.    selecting cryptography standards have never been made public.
  2629.  
  2630.    Recent advances in the computer and telecommunications industries
  2631.    have placed NSA actions under unprecedented scrutiny, and the agency
  2632.    has become the target of heavy criticism for hindering U.S.
  2633.    industries that wish to use or sell strong cryptographic tools. The
  2634.    two main reasons for this increased criticism are the collapse of the
  2635.    Soviet Union and the development and spread of commercially available
  2636.    public-key cryptographic tools. Under pressure, the NSA may be forced
  2637.    to change its policies.
  2638.  
  2639.  
  2640. 7.4 What role does the NSA play in commercial cryptography?
  2641.  
  2642.    The NSA's charter limits its activities to foreign intelligence.
  2643.    However, the NSA is concerned with the development of commercial
  2644.    cryptography because the availability of strong encryption tools
  2645.    through commercial channels could impede the NSA's mission of
  2646.    decoding international communications; in other words, the NSA is
  2647.    worried lest strong commercial cryptography fall into the wrong
  2648.    hands.
  2649.  
  2650.    The NSA has stated that it has no objection to the use of secure
  2651.    cryptography by U.S. industry. It also has no objection to
  2652.    cryptographic tools used for authentication, as opposed to privacy.
  2653.    However, the NSA is widely viewed as following policies that have the
  2654.    practical effect of limiting and/or weakening the cryptographic tools
  2655.    used by law-abiding U.S. citizens and corporations; see Barlow [3]
  2656.    for a discussion of NSA's effect on commercial cryptography.
  2657.  
  2658.    The NSA exerts influence over commercial cryptography in several
  2659.    ways. First, it controls the export of cryptography from the U.S.
  2660.    (see Question 1.6); the NSA generally does not approve export of
  2661.    products used for encryption unless the key size is strictly limited.
  2662.    It does, however, approve for export any products used for
  2663.    authentication only, no matter how large the key size, so long as the
  2664.    product cannot be converted to be used for encryption. The NSA has
  2665.  
  2666.  
  2667. Fahn               Document Expiration: 22 March 1993          [Page 46]
  2668. Internet-Draft              Cryptography FAQ           22 September 1993
  2669.  
  2670.  
  2671.    also blocked encryption methods from being published or patented,
  2672.    citing a national security threat; see Landau [46] for a discussion
  2673.    of this practice. Additionally, the NSA serves an "advisory" role to
  2674.    NIST in the evaluation and selection of official U.S. government
  2675.    computer security standards; in this capacity, it has played a
  2676.    prominent, and controversial, role in the selection of DES and in the
  2677.    development of the group of standards known as the Capstone project
  2678.    (see Section 6), which includes DSS and the Clipper chip. The NSA can
  2679.    also exert market pressure on U.S. companies to produce (or refrain
  2680.    from producing) cryptographic goods, since the NSA itself is often a
  2681.    large customer of these companies.
  2682.  
  2683.    Cryptography is in the public eye as never before and has become the
  2684.    subject of national public debate. The status of cryptography, and
  2685.    the NSA's role in it, will probably change over the next few years.
  2686.  
  2687.  
  2688. 8 Miscellaneous
  2689.  
  2690.  
  2691. 8.1 What is the legal status of documents signed with digital
  2692.     signatures?
  2693.  
  2694.    If digital signatures are to replace handwritten signatures they must
  2695.    have the same legal status as handwritten signatures, i.e., documents
  2696.    signed with digital signatures must be legally binding. NIST has
  2697.    stated that its proposed Digital Signature Standard (see Question
  2698.    6.8) should be capable of "proving to a third party that data was
  2699.    actually signed by the generator of the signature." Furthermore, U.S.
  2700.    federal government purchase orders will be signed by any such
  2701.    standard; this implies that the government will support the legal
  2702.    authority of digital signatures in the courts. Some preliminary legal
  2703.    research has also resulted in the opinion that digital signatures
  2704.    would meet the requirements of legally binding signatures for most
  2705.    purposes, including commercial use as defined in the Uniform
  2706.    Commercial Code (UCC). A GAO (Government Accounting Office) decision
  2707.    requested by NIST also opines that digital signatures will meet the
  2708.    legal standards of handwritten signatures [20].
  2709.  
  2710.    However, since the validity of documents with digital signatures has
  2711.    never been challenged in court, their legal status is not yet well-
  2712.    defined. Through such challenges, the courts will issue rulings that
  2713.    collectively define which digital signature methods, key sizes, and
  2714.    security precautions are acceptable for a digital signature to be
  2715.    legally binding.
  2716.  
  2717.    Digital signatures have the potential to possess greater legal
  2718.    authority than handwritten signatures. If a ten-page contract is
  2719.    signed by hand on the tenth page, one cannot be sure that the first
  2720.    nine pages have not been altered. If the contract was signed by
  2721.    digital signatures, however, a third party can verify that not one
  2722.    byte of the contract has been altered.
  2723.  
  2724.  
  2725. Fahn               Document Expiration: 22 March 1993          [Page 47]
  2726. Internet-Draft              Cryptography FAQ           22 September 1993
  2727.  
  2728.  
  2729.    Currently, if two people wish to digitally sign a series of
  2730.    contracts, they may wish to first sign a paper contract in which they
  2731.    agree to be bound in the future by any contracts digitally signed by
  2732.    them with a given signature method and minimum key size.
  2733.  
  2734.  
  2735. 8.2 What is a hash function? What is a message digest?
  2736.  
  2737.    A hash function is a computation that takes a variable-size input and
  2738.    returns a fixed-size string, which is called the hash value. If the
  2739.    hash function is one-way, i.e., hard to invert, it is also called a
  2740.    message-digest function, and the result is called a message digest.
  2741.    The idea is that a digest represents concisely the longer message or
  2742.    document from which it was computed; one can think of a message
  2743.    digest as a "digital fingerprint" of the larger document. Examples of
  2744.    well-known hash functions are MD4, MD5, and SHS (see Questions 8.3
  2745.    and 8.4).
  2746.  
  2747.    Although hash functions in general have many uses in computer
  2748.    programs, in cryptography they are used to generate a small string
  2749.    (the message digest) that can represent securely a much larger
  2750.    string, such as a file or message. Since the hash functions are
  2751.    faster than the signing functions, it is much more efficient to
  2752.    compute a digital signature using a document's message digest, which
  2753.    is small, than using the arbitrarily large document itself.
  2754.    Additionally, a digest can be made public without revealing the
  2755.    contents of the document from which it derives. This is important in
  2756.    digital time-stamping, where, using hash functions, one can get a
  2757.    document time-stamped without revealing its contents to the time-
  2758.    stamping service (see Question 3.18).
  2759.  
  2760.    A hash function used for digital authentication must have certain
  2761.    properties that make it secure enough for cryptographic use.
  2762.    Specifically,  it must be infeasible to find a message that hashes to
  2763.    a given value and it must be infeasible to find two distinct messages
  2764.    that hash to the same value. The ability to find a message hashing to
  2765.    a given value would enable an attacker to substitute a fake message
  2766.    for a real message that was signed. It would also enable someone to
  2767.    falsely disown a message by claiming that he or she actually signed a
  2768.    different message hashing to the same value, thus violating the non-
  2769.    repudiation property of digital signatures. The ability to find two
  2770.    distinct messages hashing to the same value could enable an attack
  2771.    whereby someone is tricked into signing a message which hashes to the
  2772.    same value as another message with a quite different meaning. The
  2773.    digest must therefore be long enough to prevent an attacker from
  2774.    doing an exhaustive search for a collision. For example, if a hash
  2775.    function produces 100-bit strings, exhaustive search would take
  2776.    2^{100} attempts on average to match a given value, and approximately
  2777.    2^{50} attempts on average to find two inputs producing the same
  2778.    digest.
  2779.  
  2780.  
  2781.  
  2782.  
  2783. Fahn               Document Expiration: 22 March 1993          [Page 48]
  2784. Internet-Draft              Cryptography FAQ           22 September 1993
  2785.  
  2786.  
  2787.    A digital signature system can be broken by attacking either the
  2788.    difficult mathematical problem on which the signature method is based
  2789.    or the hash function used to create the message digests. When
  2790.    choosing an authentication system, it is generally a good idea to
  2791.    choose a signature method and a hash function that require comparable
  2792.    efforts to break; any extra security in one of the two components is
  2793.    wasted, since attacks will be directed at the weaker component.
  2794.    Actually, attacking the hash function is harder in practice, since it
  2795.    requires a large amount of memory and the ability to trick the victim
  2796.    into signing a special message. With 2^{64} operations, an attacker
  2797.    can find two messages that hash to the same digest under any of the
  2798.    MD hash functions; this effort is comparable to that necessary to
  2799.    break 512-bit RSA; thus MD5 is a good choice when using RSA with a
  2800.    512-bit modulus. However, those with greater security needs, such as
  2801.    certifying authorities, should use a longer modulus and a hash
  2802.    function that produces a longer message digest; either SHS (160-bit
  2803.    digest) or a modified version of MD4 that produces a 256-bit digest
  2804.    [71] would suffice.
  2805.  
  2806.  
  2807. 8.3 What are MD2, MD4 and MD5?
  2808.  
  2809.    MD2, MD4 and MD5 (MD stands for Message Digest) are widely used hash
  2810.    functions designed by Ron Rivest specifically for cryptographic use.
  2811.    They produce 128-bit digests and there is no known attack faster than
  2812.    exhaustive search.
  2813.  
  2814.    MD2 is the slowest of the three; MD4 [71] is the fastest. MD5 [73]
  2815.    has been dubbed "MD4 with safety belts" by Rivest, since it has a
  2816.    more conservative design than MD4; the design gives it increased
  2817.    security against attack, but at a cost of being approximately 33%
  2818.    slower than MD4. MD5 is the most commonly used of the three
  2819.    algorithms. MD4 and MD5 are publicly available for unrestricted use;
  2820.    MD2 is available for use with PEM (see Question 8.7). Details of MD2,
  2821.    MD4, and MD5 with sample C code are available in Internet RFCs
  2822.    (Requests For Comments) 1319, 1320, and 1321, respectively.
  2823.  
  2824.    No feasible attacks on any of the MD algorithms have been discovered,
  2825.    although some recent theoretical work has found some interesting
  2826.    structural properties [24,25].
  2827.  
  2828.  
  2829. 8.4 What is SHS?
  2830.  
  2831.    The Secure Hash Standard (SHS) [58] is a hash function proposed by
  2832.    NIST (see Question 7.1) and adopted as a U.S. government standard. It
  2833.    is designed for use with the proposed Digital Signature Standard (see
  2834.    Question 6.8) and is part of the government's Capstone project (see
  2835.    Question 6.1}). SHS produces a 160-bit hash value from a variable-
  2836.    size input. SHS is structurally similar to MD4 and MD5. It is roughly
  2837.    25% slower than MD5 but may be more secure, because it produces
  2838.    message digests that are 25% longer than those produced by the MD
  2839.  
  2840.  
  2841. Fahn               Document Expiration: 22 March 1993          [Page 49]
  2842. Internet-Draft              Cryptography FAQ           22 September 1993
  2843.  
  2844.  
  2845.    functions. SHS is currently the only part of Capstone that has been
  2846.    officially adopted as a government standard.
  2847.  
  2848.  
  2849. 8.5 What is Kerberos?
  2850.  
  2851.    Kerberos is a secret-key network authentication system developed at
  2852.    MIT [79]; it uses DES for encryption and authentication. Unlike a
  2853.    public-key authentication system, it does not produce digital
  2854.    signatures: Kerberos was designed to authenticate requests for
  2855.    network resources rather than to authenticate authorship of
  2856.    documents. Kerberos provides real-time authentication in a
  2857.    distributed environment, but does not provide for future third-party
  2858.    verification of documents.
  2859.  
  2860.    In a Kerberos system, there is a designated site on the network,
  2861.    called the Kerberos server, which performs centralized key management
  2862.    and administrative functions. The server maintains a database
  2863.    containing the secret keys of all users, generates session keys
  2864.    whenever two users wish to communicate securely, and authenticates
  2865.    the identity of a user who requests certain network services.
  2866.  
  2867.    Kerberos, like other secret-key systems, requires trust in a third
  2868.    party, in this case the Kerberos server. If the server were
  2869.    compromised, the integrity of the whole system would fall. Public-key
  2870.    cryptography was designed precisely to avoid the necessity to trust
  2871.    third parties or communication lines (see Question 1.4). Kerberos may
  2872.    be adequate for those who do not need the more robust functions and
  2873.    properties of public-key systems.
  2874.  
  2875.  
  2876. 8.6 What are RC2 and RC4?
  2877.  
  2878.    RC2 and RC4 are variable-key-size cipher functions designed by Ron
  2879.    Rivest for fast bulk encryption. They are alternatives to DES (see
  2880.    Question 5.1) and are as fast or faster than DES. They can be more
  2881.    secure than DES because of their ability to use long key sizes; they
  2882.    can also be less secure than DES if short key sizes are used.
  2883.  
  2884.    RC2 is a variable-key-size symmetric block cipher and can serve as a
  2885.    drop-in replacement for DES, for example in export versions of
  2886.    products otherwise using DES. RC2 can be used in the same modes as
  2887.    DES (see Question 5.3), including triple encryption. RC2 is
  2888.    approximately twice as fast as DES, at least in software. RC4 is a
  2889.    variable-key-size symmetric stream cipher and is 10 or more times as
  2890.    fast as DES in software. Both RC2 and RC4 are very compact in terms
  2891.    of code size.
  2892.  
  2893.    An agreement between the Software Publishers Association (SPA) and
  2894.    the U.S. government gives RC2 and RC4 special status by means of
  2895.    which the export approval process is simpler and quicker than the
  2896.    usual cryptographic export process. However, to qualify for quick
  2897.  
  2898.  
  2899. Fahn               Document Expiration: 22 March 1993          [Page 50]
  2900. Internet-Draft              Cryptography FAQ           22 September 1993
  2901.  
  2902.  
  2903.    export approval a product must limit the RC2 and RC4 key sizes to 40
  2904.    bits; 56 bits is allowed for foreign subsidiaries and overseas
  2905.    offices of U.S. companies. An additional 40-bit string, called a
  2906.    salt, can be used to thwart attackers who try to precompute a large
  2907.    look-up table of possible encryptions. The salt is appended to the
  2908.    encryption key, and this lengthened key is used to encrypt the
  2909.    message; the salt is then sent, unencrypted, with the message. RC2
  2910.    and RC4 have been widely used by developers who want to export their
  2911.    products; DES is almost never approved for export. RC2 and RC4 are
  2912.    proprietary algorithms of RSA Data Security, Inc.; details have not
  2913.    been published.
  2914.  
  2915.  
  2916. 8.7 What is PEM?
  2917.  
  2918.    PEM is the Internet Privacy-Enhanced Mail standard, designed,
  2919.    proposed, but not yet officially adopted, by the Internet Activities
  2920.    Board in order to provide secure electronic mail over the Internet.
  2921.    Designed to work with current Internet e-mail formats, PEM includes
  2922.    encryption, authentication, and key management, and allows use of
  2923.    both public-key and secret-key cryptosystems. Multiple cryptographic
  2924.    tools are supported: for each mail message, the specific encryption
  2925.    algorithm, digital signature algorithm, hash function, and so on are
  2926.    specified in the header. PEM explicitly supports only a few
  2927.    cryptographic algorithms; others may be added later. DES in CBC mode
  2928.    is currently the only message encryption algorithm supported, and
  2929.    both RSA and DES are supported for the key management. PEM also
  2930.    supports the use of certificates, endorsing the CCITT X.509 standard
  2931.    for certificate structure.
  2932.  
  2933.    The details of PEM can be found in Internet RFCs (Requests For
  2934.    Comments) 1421 through 1424. PEM is likely to be officially adopted
  2935.    by the Internet Activities Board within one year. Trusted Information
  2936.    Systems has developed a free non-commercial implementation of PEM,
  2937.    and other implementations should soon be available as well.
  2938.  
  2939.  
  2940. 8.8 What is RIPEM?
  2941.  
  2942.    RIPEM is a program developed by Mark Riordan that enables secure
  2943.    Internet e-mail; it provides both encryption and digital signatures,
  2944.    using RSA and DES routines from RSAREF (see Question 8.10). RIPEM is
  2945.    not fully PEM-compatible; for example, it does not currently support
  2946.    certificates. However, future versions will include certificates and
  2947.    will be fully compliant with the PEM standard. RIPEM is available
  2948.    free for non-commercial use in the U.S. and Canada. To get RIPEM,
  2949.    obtain an ftp account at ripem.msu.edu.
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957. Fahn               Document Expiration: 22 March 1993          [Page 51]
  2958. Internet-Draft              Cryptography FAQ           22 September 1993
  2959.  
  2960.  
  2961. 8.9 What is PKCS?
  2962.  
  2963.    PKCS (Public-Key Cryptography Standards) is a set of standards for
  2964.    implementation of public-key cryptography. It has been issued by RSA
  2965.    Data Security, Inc. in cooperation with a computer industry
  2966.    consortium, including Apple, Microsoft, DEC, Lotus, Sun and MIT. PKCS
  2967.    has been cited by the OIW (OSI Implementors' Workshop) as a method
  2968.    for implementation of OSI standards. PKCS is compatible with PEM (see
  2969.    Question 8.7) but extends beyond PEM. For example, where PEM can only
  2970.    handle ASCII data, PKCS is designed for binary data as well. PKCS is
  2971.    also compatible with the CCITT X.509 standard.
  2972.  
  2973.    PKCS includes both algorithm-specific and algorithm-independent
  2974.    implementation standards. Specific algorithms supported include RSA,
  2975.    DES, and Diffie-Hellman key exchange. It also defines algorithm-
  2976.    independent syntax for digital signatures, digital envelopes (for
  2977.    encryption), and certificates; this enables someone implementing any
  2978.    cryptographic algorithm whatsoever to conform to a standard syntax
  2979.    and thus preserve interoperability. Documents detailing the PKCS
  2980.    standards can be obtained by sending e-mail to <pkcs@rsa.com> or by
  2981.    anonymous ftp to <rsa.com>.
  2982.  
  2983.  
  2984. 8.10 What is RSAREF?
  2985.  
  2986.    RSAREF is a collection of cryptographic routines in portable C source
  2987.    code, available at no charge from RSA Laboratories, a division of RSA
  2988.    Data Security, Inc. It includes RSA, MD2, MD5, and DES; Diffie-
  2989.    Hellman key exchange will be included in a forthcoming version. It
  2990.    includes both low-level subroutines, such as modular exponentiation,
  2991.    and high-level cryptographic functions, such as verification of
  2992.    digital signatures. The arithmetic routines can handle multiple-
  2993.    precision integers, and the RSA algorithm routines can handle
  2994.    variable key sizes. RSAREF is fully compatible with the PEM and PKCS
  2995.    standards.
  2996.  
  2997.    RSAREF is available to citizens of the U.S. or Canada and to
  2998.    permanent residents of the U.S. It can be used in personal, non-
  2999.    commercial applications but cannot be used commercially or sent
  3000.    outside the U.S. and Canada. The RSAREF license contains more details
  3001.    on the usage allowed and disallowed. RSAREF is available on the
  3002.    Internet by sending e-mail to <rsaref@rsa.com> or by ftp to
  3003.    <rsa.com>.
  3004.  
  3005.  
  3006. BIBLIOGRAPHY
  3007.  
  3008.      [1]  American National Standards Institute. Working Draft: American
  3009.           National Standard X9.30-199X: Public Key Cryptography Using
  3010.           Irreversible Algorithms for the Financial Services Industry:
  3011.           Part 1: The Digital Signature Algorithm (DSA). American
  3012.           Bankers Association, Washington, D.C., March 4, 1993.
  3013.  
  3014.  
  3015. Fahn               Document Expiration: 22 March 1993          [Page 52]
  3016. Internet-Draft              Cryptography FAQ           22 September 1993
  3017.  
  3018.  
  3019.      [2]  J. Bamford. The Puzzle Palace. Houghton Mifflin, Boston, 1982.
  3020.  
  3021.      [3]  J.P. Barlow. Decrypting the puzzle palace. Communications of
  3022.           the ACM, 35(7):25--31, July 1992.
  3023.  
  3024.      [4]  D. Bayer, S. Haber, and W.S. Stornetta. Improving the
  3025.           efficiency and reliablility of digital time-stamping. In R.M.
  3026.           Capocelli, editor, Sequences '91: Methods in Communication,
  3027.           Security, and Computer Science, Springer-Verlag, Berlin, 1992.
  3028.  
  3029.      [5]  P. Beauchemin, G. Brassard, C. Crepeau, C. Goutier, and C.
  3030.           Pomerance. The generation of random numbers that are probably
  3031.           prime. J. of Cryptology, 1:53--64, 1988.
  3032.  
  3033.      [6]  E. Biham and A. Shamir. Differential Cryptanalysis of the Data
  3034.           Encryption Standard. Springer-Verlag, New York, 1993.
  3035.  
  3036.      [7]  E. Biham and A. Shamir. Differential cryptanalysis of the full
  3037.           16-round DES. In Advances in Cryptology --- Crypto '92,
  3038.           Springer-Verlag, New York, 1993.
  3039.  
  3040.      [8]  M. Blum and S. Goldwasser. An efficient probabilistic public-
  3041.           key encryption scheme which hides all partial information. In
  3042.           Advances in Cryptology --- Crypto '84, pages 289--299,
  3043.           Springer-Verlag, New York, 1985.
  3044.  
  3045.      [9]  J. Brandt and I. Damgard. On generation of probable primes by
  3046.           incremental search. In Advances in Cryptology --- Crypto '92,
  3047.           Springer-Verlag, New York, 1993.
  3048.  
  3049.      [10] G. Brassard. Modern Cryptology. Volume 325 of Lecture Notes in
  3050.           Computer Science, Springer-Verlag, Berlin, 1988.
  3051.  
  3052.      [11] D.M. Bressoud. Factorization and Primality Testing.
  3053.           Undergraduate Texts in Mathematics, Springer-Verlag, New York,
  3054.           1989.
  3055.  
  3056.      [12] E.F. Brickell, D.E. Denning, S.T. Kent, D.P. Maher, and W.
  3057.           Tuchman. Skipjack Review, Interim Report: The Skipjack
  3058.           Algorithm. July 28, 1993.
  3059.  
  3060.      [13] E.F. Brickell and A.M. Odlyzko. Cryptanalysis: A survey of
  3061.           recent results. Proceedings of the IEEE, 76:578--593, 1988.
  3062.  
  3063.      [14] J. Brillhart, D.H. Lehmer, J.L. Selfridge, B. Tuckerman, and
  3064.           S.S. Wagstaff Jr. Factorizations of b^n +/- 1,
  3065.           b=2,3,5,6,7,10,11,12 up to High Powers. Volume 22 of
  3066.           Contemporary Mathematics, American Mathematical Society,
  3067.           Providence, Rhode Island, 2nd edition, 1988.
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073. Fahn               Document Expiration: 22 March 1993          [Page 53]
  3074. Internet-Draft              Cryptography FAQ           22 September 1993
  3075.  
  3076.  
  3077.      [15] J. Buchmann, J. Loho, and J. Zayer. An implementation of the
  3078.           general number field sieve. In Advances, in Cryptology ---
  3079.           Crypto '93, Springer-Verlag, New York, 1994. To appear.
  3080.  
  3081.      [16] J.P. Buhler, H.W. Lenstra, and C. Pomerance. Factoring
  3082.           integers with the number field sieve. 1992. To appear.
  3083.  
  3084.      [17] M.V.D. Burmester, Y.G. Desmedt, and T. Beth. Efficient zero-
  3085.           knowledge identification schemes for smart cards. Computer
  3086.           Journal, 35:21--29, 1992.
  3087.  
  3088.      [18] K.W. Campbell and M.J. Wiener. Proof that DES is not a group.
  3089.           In Advances in Cryptology --- Crypto '92, Springer-Verlag, New
  3090.           York, 1993.
  3091.  
  3092.      [19] CCITT (Consultative Committee on International Telegraphy and
  3093.           Telephony). Recommendation X.509: The Directory---
  3094.           Authentication Framework. 1988.
  3095.  
  3096.      [20] Comptroller General of the United States. Matter of National
  3097.           Institute of Standards and Technology --- Use of Electronic
  3098.           Data Interchange Technology to Create Valid Obligations.
  3099.           December 13, 1991. File B-245714.
  3100.  
  3101.      [21] D. Coppersmith, A.M. Odlyzko, and R. Schroeppel. Discrete
  3102.           logarithms in GF(p). Algorithmica, 1:1--15, 1986.
  3103.  
  3104.      [22] T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to
  3105.           Algorithms. MIT Press, Cambridge, Massachusetts, 1990.
  3106.  
  3107.      [23] G. Davida. Chosen signature cryptanalysis of the RSA public
  3108.           key  cryptosystem. Technical Report TR-CS-82-2, Dept of EECS,
  3109.           University of Wisconsin, Milwaukee, 1982.
  3110.  
  3111.      [24] B. den Boer and A. Bosselaers. An attack on the last two
  3112.           rounds of MD4. In Advances in Cryptology --- Crypto '91, pages
  3113.           194--203, Springer-Verlag, New York, 1992.
  3114.  
  3115.      [25] B. den Boer and A. Bosselaers. Collisions for the compression
  3116.           function of MD5. In Advances in Cryptology --- Eurocrypt '93,
  3117.           1993. Preprint.
  3118.  
  3119.      [26] Dorothy E. Denning. The Clipper encryption system. American
  3120.           Scientist, 81(4):319--323, July--August 1993.
  3121.  
  3122.      [27] W. Diffie. The first ten years of public-key cryptography.
  3123.           Proceedings of the IEEE, 76:560--577, 1988.
  3124.  
  3125.      [28] W. Diffie and M.E. Hellman. Exhaustive cryptanalysis of the
  3126.           NBS Data Encryption Standard. Computer, 10:74--84, 1977.
  3127.  
  3128.  
  3129.  
  3130.  
  3131. Fahn               Document Expiration: 22 March 1993          [Page 54]
  3132. Internet-Draft              Cryptography FAQ           22 September 1993
  3133.  
  3134.  
  3135.      [29] W. Diffie and M.E. Hellman. New directions in cryptography.
  3136.           IEEE Transactions on Information Theory, IT-22:644--654, 1976.
  3137.  
  3138.      [30] T. ElGamal. A public-key cryptosystem and a signature scheme
  3139.           based on discrete logarithms. IEEE Transactions on Information
  3140.           Theory, IT-31:469--472, 1985.
  3141.  
  3142.      [31] A. Fiat and A. Shamir. How to prove yourself: Practical
  3143.           solutions to identification and signature problems. In
  3144.           Advances in Cryptology --- Crypto '86, pages 186--194,
  3145.           Springer-Verlag, New York, 1987.
  3146.  
  3147.      [32] S. Goldwasser and S. Micali. Probabilistic encryption. J. of
  3148.           Computer and System Sciences, 28:270--299, 1984.
  3149.  
  3150.      [33] D.M. Gordon. Discrete logarithms using the number field sieve.
  3151.           March 28, 1991. To appear.
  3152.  
  3153.      [34] D.M. Gordon and K.S. McCurley. Massively parallel computation
  3154.           of discrete logarithms. In Advances in Cryptology --- Crypto
  3155.           '92, Springer-Verlag, New York, 1993.
  3156.  
  3157.      [35] J. Hastad. Solving simultaneous modular equations of low
  3158.           degree. SIAM J. Computing, 17:336--241, 1988.
  3159.  
  3160.      [36] M.E. Hellman. A cryptanalytic time-memory trade off. IEEE
  3161.           Transactions on Information Theory, IT-26:401--406, 1980.
  3162.  
  3163.      [37] D. Kahn. The Codebreakers. Macmillan Co., New York, 1967.
  3164.  
  3165.      [38] B.S. Kaliski. A survey of encryption standards. RSA Data
  3166.           Security, Inc., September 2, 1993.
  3167.  
  3168.      [39] B.S. Kaliski Jr., R.L. Rivest, and A.T. Sherman. Is the data
  3169.           encryption standard a group? J. of Cryptology, 1:3--36, 1988.
  3170.  
  3171.      [40] S. Kent. RFC 1422: Privacy Enhancement for Internet Electronic
  3172.           Mail, Part II: Certificate-Based Key Management. Internet
  3173.           Activities Board, February 1993.
  3174.  
  3175.      [41] D.E. Knuth. The Art of Computer Programming. Volume 2,
  3176.           Addison-Wesley, Reading, Mass., 2nd edition, 1981.
  3177.  
  3178.      [42] N. Koblitz. A Course in Number Theory and Cryptography.
  3179.           Springer-Verlag, New York, 1987.
  3180.  
  3181.      [43] N. Koblitz. Elliptic curve cryptosystems. Mathematics of
  3182.           Computation, 48:203--209, 1987.
  3183.  
  3184.      [44] X. Lai and J.L. Massey. A proposal for a new block encryption
  3185.           standard. In Advances in Cryptology --- Eurocrypt '90, pages
  3186.           389--404, Springer-Verlag, Berlin, 1991.
  3187.  
  3188.  
  3189. Fahn               Document Expiration: 22 March 1993          [Page 55]
  3190. Internet-Draft              Cryptography FAQ           22 September 1993
  3191.  
  3192.  
  3193.      [45] B.A. LaMacchia and A.M. Odlyzko. Computation of discrete
  3194.           logarithms in prime fields. Designs, Codes and Cryptography,
  3195.           1:47--62, 1991.
  3196.  
  3197.      [46] S. Landau. Zero knowledge and the Department of Defense.
  3198.           Notices of the American Mathematical Society, 35:5--12, 1988.
  3199.  
  3200.      [47] A.K. Lenstra and H.W. Lenstra Jr. Algorithms in number theory.
  3201.           In J. van Leeuwen, editor, Handbook of Theoretical Computer
  3202.           Science, MIT Press/Elsevier, Amsterdam, 1990.
  3203.  
  3204.      [48] A.K. Lenstra, H.W. Lenstra Jr., M.S. Manasse, and J.M.
  3205.           Pollard. The factorization of the ninth Fermat number. 1991.
  3206.           To appear.
  3207.  
  3208.      [49] A.K. Lenstra and M.S. Manasse. Factoring with two large
  3209.           primes. In Advances in Cryptology --- Eurocrypt '90, pages 72-
  3210.           -82, Springer-Verlag, Berlin, 1991.
  3211.  
  3212.      [50] H.W. Lenstra Jr. Factoring integers with elliptic curves. Ann.
  3213.           of Math., 126:649--673, 1987.
  3214.  
  3215.      [51] M. Matsui. Linear cryptanalysis method for DES cipher. In
  3216.           Advances in Cryptology --- Eurocrypt '93, Springer-Verlag,
  3217.           Berlin, 1993. To appear.
  3218.  
  3219.      [52] R.C. Merkle and M.E. Hellman. Hiding information and
  3220.           signatures in trapdoor knapsacks. IEEE Transactions on
  3221.           Information Theory, IT-24:525--530, 1978.
  3222.  
  3223.      [53] R.C. Merkle and M.E. Hellman. On the security of multiple
  3224.           encryption. Communications of the ACM, 24:465--467, July 1981.
  3225.  
  3226.      [54] E. Messmer. NIST stumbles on proposal for public-key
  3227.           encryption. Network World, 9(30), July 27, 1992.
  3228.  
  3229.      [55] S. Micali. Fair public-key cryptosystems. In Advances in
  3230.           Cryptology --- Crypto '92, Springer-Verlag, New York, 1993.
  3231.  
  3232.      [56] V.S. Miller. Use of elliptic curves in cryptography. In
  3233.           Advances in Cryptology --- Crypto '85, pages 417--426,
  3234.           Springer-Verlag, New York, 1986.
  3235.  
  3236.      [57] National Institute of Standards and Technology (NIST). The
  3237.           Digital Signature Standard, proposal and discussion.
  3238.           Communications of the ACM, 35(7):36--54, July 1992.
  3239.  
  3240.      [58] National Institute of Standards and Technology (NIST). FIPS
  3241.           Publication 180: Secure Hash Standard (SHS). May 11, 1993.
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247. Fahn               Document Expiration: 22 March 1993          [Page 56]
  3248. Internet-Draft              Cryptography FAQ           22 September 1993
  3249.  
  3250.  
  3251.      [59] National Institute of Standards and Technology (NIST). FIPS
  3252.           Publication 46-1: Data Encryption Standard. January 22, 1988.
  3253.           Originally issued by National Bureau of Standards.
  3254.  
  3255.      [60] National Institute of Standards and Technology (NIST). FIPS
  3256.           Publication 81: DES Modes of Operation. December 2, 1980.
  3257.           Originally issued by National Bureau of Standards.
  3258.  
  3259.      [61] National Institute of Standards and Technology (NIST). Notice
  3260.           of proposal for grant of exclusive patent license. Federal
  3261.           Register, 58(108), June 8, 1993.
  3262.  
  3263.      [62] National Institute of Standards and Technology (NIST). A
  3264.           proposed Federal Information Processing Standard for an
  3265.           Escrowed Encryption Standard (EES). Federal Register, 58(145),
  3266.           July 30, 1993.
  3267.  
  3268.      [63] National Institute of Standards and Technology (NIST).
  3269.           Publication XX: Announcement and Specifications for a Digital
  3270.           Signature Standard (DSS). August 19, 1992.
  3271.  
  3272.      [64] A.M. Odlyzko. Discrete logarithms in finite fields and their
  3273.           cryptographic significance. In Advances in Cryptology ---
  3274.           Eurocrypt '84, pages 224--314, Springer-Verlag, Berlin, 1984.
  3275.  
  3276.      [65] Office of the Press Secretary. Statement. The White House,
  3277.           April 16, 1993.
  3278.  
  3279.      [66] J. Pollard. Monte Carlo method for factorization. BIT, 15:331-
  3280.           -334, 1975.
  3281.  
  3282.      [67] J. Pollard. Theorems of factorization and primality testing.
  3283.           Proc. Cambridge Philos. Soc., 76:521--528, 1974.
  3284.  
  3285.      [68] M.O. Rabin. Digitalized signatures as intractable as
  3286.           factorization. Technical Report MIT/LCS/TR-212, MIT, 1979.
  3287.  
  3288.      [69] R.L. Rivest. Cryptography. In J. van Leeuwen, editor, Handbook
  3289.           of Theoretical Computer Science, MIT Press/Elsevier,
  3290.           Amsterdam, 1990.
  3291.  
  3292.      [70] R.L. Rivest. Finding four million random primes. In Advances
  3293.           in Cryptology --- Crypto '90, pages 625--626, Springer-Verlag,
  3294.           New York, 1991.
  3295.  
  3296.      [71] R.L Rivest. The MD4 message digest algorithm. In Advances in
  3297.           Cryptology --- Crypto '90, pages 303--311, Springer-Verlag,
  3298.           New York, 1991.
  3299.  
  3300.      [72] R.L. Rivest. Response to NIST's proposal. Communications of
  3301.           the ACM, 35:41--47, July 1992.
  3302.  
  3303.  
  3304.  
  3305. Fahn               Document Expiration: 22 March 1993          [Page 57]
  3306. Internet-Draft              Cryptography FAQ           22 September 1993
  3307.  
  3308.  
  3309.      [73] R.L. Rivest. RFC 1321: The MD5 Message-Digest Algorithm.
  3310.           Internet Activities Board, April 1992.
  3311.  
  3312.      [74] R.L. Rivest, A. Shamir, and L. Adleman. A method for obtaining
  3313.           digital signatures and public-key cryptosystems.
  3314.           Communications of the ACM, 21(2):120--126, February 1978.
  3315.  
  3316.      [75] C.P. Schnorr. Efficient identification and signatures for
  3317.           smart cards. In Advances in Cryptology --- Crypto '89, pages
  3318.           239--251, Springer-Verlag, New York, 1990.
  3319.  
  3320.      [76] M. Shand and J. Vuillemin. Fast implementations of RSA
  3321.           cryptography. In Proceedings of the 11th IEEE Symposium on
  3322.           Computer Arithmetic, pages 252--259, IEEE Computer Society
  3323.           Press, Los Alamitos, CA, 1993.
  3324.  
  3325.      [77] R.D. Silverman. The multiple polynomial quadratic sieve. Math.
  3326.           Comp., 48:329--339, 1987.
  3327.  
  3328.      [78] M.E. Smid and D.K. Branstad. Response to comments on the NIST
  3329.           proposed Digital Signature Standard. In Advances in Cryptology
  3330.           --- Crypto '92, Springer-Verlag, New York, 1993.
  3331.  
  3332.      [79] J.G. Steiner, B.C. Neuman, and J.I. Schiller. Kerberos: an
  3333.           authentication service for open network systems. In Usenix
  3334.           Conference Proceedings, pages 191--202, Dallas, Texas,
  3335.           February 1988.
  3336.  
  3337.      [80] M.J. Wiener. Efficient DES key search. August 20, 1993.
  3338.           Presented at Crypto '93 rump session.
  3339.  
  3340.  
  3341. Author's Address
  3342.  
  3343.                     Paul N. Fahn
  3344.    RSA Laboratories               Department of Computer Science
  3345.    10 Twin Dolphin Drive          Stanford University
  3346.    Redwood City, CA 94065         Stanford, CA  94305
  3347.  
  3348.    Phone: (415) 595-7703          (415)723-3088
  3349.    FAX: (415) 595-4126
  3350.  
  3351.    EMail: <fahn@cs.stanford.edu>
  3352.           <fahn@rsa.com>
  3353.  
  3354.  
  3355.